From cc39a249b79726658860c4e28f97bc236a7b82a0 Mon Sep 17 00:00:00 2001 From: numzero Date: Thu, 7 Nov 2024 00:18:53 +0300 Subject: [PATCH] scene: add vertical ray fan --- src/bin/wireframe/scene.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/bin/wireframe/scene.rs b/src/bin/wireframe/scene.rs index e41ef16..a938b37 100644 --- a/src/bin/wireframe/scene.rs +++ b/src/bin/wireframe/scene.rs @@ -94,9 +94,10 @@ pub fn build() -> Vec { let mut gc = vec![]; paint(&mut gc, vec3(0.6, 0.6, 0.6), tube.render()); - paint(&mut gc, vec3(0.0, 0.6, 1.0), draw_fan_2(&space, cam3, 1.0)); - paint(&mut gc, vec3(0.2, 1.0, 0.0), draw_fan_2(&space, cam2, 1.0)); - paint(&mut gc, vec3(1.0, 0.2, 0.0), draw_fan_2(&space, cam1, 1.0)); + paint(&mut gc, vec3(0.0, 0.6, 1.0), draw_fan_2(&space, cam3, vec3(0., 1., 0.))); + paint(&mut gc, vec3(0.2, 1.0, 0.0), draw_fan_2(&space, cam2, vec3(0., 1., 0.))); + paint(&mut gc, vec3(0.0, 1.0, 0.6), draw_fan_2(&space, cam2, vec3(0., 0., 1.))); + paint(&mut gc, vec3(1.0, 0.2, 0.0), draw_fan_2(&space, cam1, vec3(0., 1., 0.))); gc } @@ -116,10 +117,10 @@ fn draw_ray_2(gc: &mut Vec, space: &Space, camera: Location, dir: Vec3) { gc.push(Line::Strip(pts)); } -fn draw_fan_2(space: &Space, camera: Location, spread: f32) -> Vec { +fn draw_fan_2(space: &Space, camera: Location, spread: Vec3) -> Vec { let mut gc = vec![]; - for y in itertools_num::linspace(-spread, spread, 101) { - draw_ray_2(&mut gc, space, camera, vec3(1., y, 0.)); + for δ in itertools_num::linspace(-1., 1., 101) { + draw_ray_2(&mut gc, space, camera, vec3(1., 0., 0.) + δ * spread); } gc }