File tree Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change 351351Rays, a Simple Camera, and Background
352352====================================================================================================
353353
354+ < div class='together'>
354355The one thing that all ray tracers have is a ray class, and a computation of what color is seen
355356along a ray. Let’s think of a ray as a function $\mathbf{p}(t) = \mathbf{a} + t \vec{\mathbf{b}}$.
356357Here $\mathbf{p}$ is a 3D position along a line in 3D. $\mathbf{a}$ is the ray origin and
357358$\vec{\mathbf{b}}$ is the ray direction. The ray parameter $t$ is a real number (`double` in the
358359code). Plug in a different $t$ and $p(t)$ moves the point along the ray. Add in negative $t$ and you
359360can go anywhere on the 3D line. For positive $t$, you get only the parts in front of $\mathbf{a}$,
360- and this is what is often called a half-line or ray. The example $\mathbf{c} = p(2)$ is shown here:
361+ and this is what is often called a half-line or ray.
361362
362363 ![Figure [lerp]: Linear interpolation](../images/fig.lerp.jpg)
363364
365+ </ div>
366+
364367< div class='together'>
365368The function $p(t)$ in more verbose code form I call `ray::at(t)`:
366369
You can’t perform that action at this time.
0 commit comments