Simplify member names
This commit is contained in:
parent
f2cbe6413a
commit
5aca27ddd7
|
|
@ -5,16 +5,16 @@ use riemann::{Decomp2, Metric, trace_iter};
|
||||||
|
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
let space = Coil {
|
let space = Coil {
|
||||||
coil_scale: 3.0,
|
scale: 3.0,
|
||||||
coil_r: 300.0,
|
r: 300.0,
|
||||||
coil_w: 50.0,
|
w: 50.0,
|
||||||
coil_m: 10.0,
|
m: 10.0,
|
||||||
};
|
};
|
||||||
let space = Rect {
|
let space = Rect {
|
||||||
box_scale: 3.0,
|
scale: 3.0,
|
||||||
box_a: vec2(- 30.0, - 300.0),
|
a: vec2(- 30.0, - 300.0),
|
||||||
box_b: vec2(30.0, 300.0),
|
b: vec2(30.0, 300.0),
|
||||||
box_m: vec2(20.0, 50.0),
|
m: vec2(20.0, 50.0),
|
||||||
};
|
};
|
||||||
with_2d_graphics(move || {
|
with_2d_graphics(move || {
|
||||||
let canvas = create_drawing_window("Refraction");
|
let canvas = create_drawing_window("Refraction");
|
||||||
|
|
@ -53,10 +53,10 @@ trait Renderable {
|
||||||
impl Renderable for Coil {
|
impl Renderable for Coil {
|
||||||
fn render(&self, gc: &mut Vec<Draw>) {
|
fn render(&self, gc: &mut Vec<Draw>) {
|
||||||
gc.new_path();
|
gc.new_path();
|
||||||
gc.circle(0.0, 0.0, self.coil_r + self.coil_w + self.coil_m);
|
gc.circle(0.0, 0.0, self.r + self.w + self.m);
|
||||||
gc.circle(0.0, 0.0, self.coil_r + self.coil_w);
|
gc.circle(0.0, 0.0, self.r + self.w);
|
||||||
gc.circle(0.0, 0.0, self.coil_r - self.coil_w);
|
gc.circle(0.0, 0.0, self.r - self.w);
|
||||||
gc.circle(0.0, 0.0, self.coil_r - self.coil_w - self.coil_m);
|
gc.circle(0.0, 0.0, self.r - self.w - self.m);
|
||||||
gc.winding_rule(WindingRule::EvenOdd);
|
gc.winding_rule(WindingRule::EvenOdd);
|
||||||
gc.fill_color(Color::Rgba(0.8, 0.8, 0.8, 1.0));
|
gc.fill_color(Color::Rgba(0.8, 0.8, 0.8, 1.0));
|
||||||
gc.fill();
|
gc.fill();
|
||||||
|
|
@ -64,15 +64,15 @@ impl Renderable for Coil {
|
||||||
gc.stroke_color(Color::Rgba(1.0, 0.5, 0.0, 1.0));
|
gc.stroke_color(Color::Rgba(1.0, 0.5, 0.0, 1.0));
|
||||||
draw_fan(gc, self, vec2(-500.0, 0.0), vec2(1.0, 0.0), 1.0);
|
draw_fan(gc, self, vec2(-500.0, 0.0), vec2(1.0, 0.0), 1.0);
|
||||||
gc.stroke_color(Color::Rgba(0.0, 0.5, 1.0, 1.0));
|
gc.stroke_color(Color::Rgba(0.0, 0.5, 1.0, 1.0));
|
||||||
draw_fan(gc, self, vec2(0.0, self.coil_r), vec2(1.0, 0.0), 1.0);
|
draw_fan(gc, self, vec2(0.0, self.r), vec2(1.0, 0.0), 1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Renderable for Rect {
|
impl Renderable for Rect {
|
||||||
fn render(&self, gc: &mut Vec<Draw>) {
|
fn render(&self, gc: &mut Vec<Draw>) {
|
||||||
gc.new_path();
|
gc.new_path();
|
||||||
gc.rect(self.box_a.x - self.box_m.x, self.box_a.y - self.box_m.y, self.box_b.x + self.box_m.x, self.box_b.y + self.box_m.y);
|
gc.rect(self.a.x - self.m.x, self.a.y - self.m.y, self.b.x + self.m.x, self.b.y + self.m.y);
|
||||||
gc.rect(self.box_a.x, self.box_a.y, self.box_b.x, self.box_b.y);
|
gc.rect(self.a.x, self.a.y, self.b.x, self.b.y);
|
||||||
gc.winding_rule(WindingRule::EvenOdd);
|
gc.winding_rule(WindingRule::EvenOdd);
|
||||||
gc.fill_color(Color::Rgba(0.8, 0.8, 0.8, 1.0));
|
gc.fill_color(Color::Rgba(0.8, 0.8, 0.8, 1.0));
|
||||||
gc.fill();
|
gc.fill();
|
||||||
|
|
@ -80,15 +80,15 @@ impl Renderable for Rect {
|
||||||
gc.stroke_color(Color::Rgba(1.0, 0.5, 0.0, 1.0));
|
gc.stroke_color(Color::Rgba(1.0, 0.5, 0.0, 1.0));
|
||||||
draw_fan(gc, self, vec2(-500.0, 0.0), vec2(1.0, 0.0), 1.0);
|
draw_fan(gc, self, vec2(-500.0, 0.0), vec2(1.0, 0.0), 1.0);
|
||||||
gc.stroke_color(Color::Rgba(0.0, 0.5, 1.0, 1.0));
|
gc.stroke_color(Color::Rgba(0.0, 0.5, 1.0, 1.0));
|
||||||
draw_fan(gc, self, vec2(0.0, 0.5 * self.box_a.y), vec2(1.0, 1.0), 1.0);
|
draw_fan(gc, self, vec2(0.0, 0.5 * self.a.y), vec2(1.0, 1.0), 1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Coil {
|
struct Coil {
|
||||||
coil_m: f32,
|
m: f32,
|
||||||
coil_scale: f32,
|
scale: f32,
|
||||||
coil_r: f32,
|
r: f32,
|
||||||
coil_w: f32,
|
w: f32,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Metric for Coil {
|
impl Metric for Coil {
|
||||||
|
|
@ -96,8 +96,8 @@ impl Metric for Coil {
|
||||||
let r = pos.length();
|
let r = pos.length();
|
||||||
let dir = pos.normalize();
|
let dir = pos.normalize();
|
||||||
|
|
||||||
let s = smoothbox (r, vec2(self.coil_r - self.coil_w, self.coil_r + self.coil_w), self.coil_m);
|
let s = smoothbox (r, vec2(self.r - self.w, self.r + self.w), self.m);
|
||||||
let t = 1.0.lerp(self.coil_r / r / self.coil_scale, s);
|
let t = 1.0.lerp(self.r / r / self.scale, s);
|
||||||
|
|
||||||
Decomp2{
|
Decomp2{
|
||||||
ortho: Mat2::from_cols_array(&[
|
ortho: Mat2::from_cols_array(&[
|
||||||
|
|
@ -110,18 +110,18 @@ impl Metric for Coil {
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Rect {
|
struct Rect {
|
||||||
box_scale: f32,
|
scale: f32,
|
||||||
box_a: Vec2,
|
a: Vec2,
|
||||||
box_b: Vec2,
|
b: Vec2,
|
||||||
box_m: Vec2,
|
m: Vec2,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Metric for Rect {
|
impl Metric for Rect {
|
||||||
fn halfmetric(&self, pos: Vec2) -> Decomp2 {
|
fn halfmetric(&self, pos: Vec2) -> Decomp2 {
|
||||||
let s = smoothbox(pos.x, vec2(self.box_a.x, self.box_b.x), self.box_m.x) * smoothbox(pos.y, vec2(self.box_a.y, self.box_b.y), self.box_m.y);
|
let s = smoothbox(pos.x, vec2(self.a.x, self.b.x), self.m.x) * smoothbox(pos.y, vec2(self.a.y, self.b.y), self.m.y);
|
||||||
Decomp2{
|
Decomp2{
|
||||||
ortho: Mat2::IDENTITY,
|
ortho: Mat2::IDENTITY,
|
||||||
diag: vec2(1.0, self.box_scale.powf(-s)),
|
diag: vec2(1.0, self.scale.powf(-s)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user