 |
 |
 |
 | Ray tracing modeling and inversion of light intensity under a water surface |  |
![[pdf]](icons/pdf.png) |
Next: Light Source
Up: Forward Simulation
Previous: Forward Simulation
In
-space, the surface of the water is given as a discretized function on a uniformly sampled grid in one or two dimensions. The function has points that represent the depth of the surface from the
-plane. If we have a surface
in 3D space, the normal vector to that surface is
 |
(1) |
and for a surface
, in 2D space, it is
 |
(2) |
where
,
, and
are unit vectors along the
-,
-,
-axes, respectively.
To compute the first partial derivatives, we can use finite-divided-difference approximations (Chapra and Canale, 2002). A design decision must be made at this point regarding where the refracted rays will start with respect to the points on the surface function. For a 2D simulation with
, we can have the ray coming out of the points. In that case, the preferred scheme is centered finite-divided-difference:
 |
(3) |
The same differencing scheme can be used for the partial derivatives with respect to
and
for the 3D simulation. Using this scheme, it is not possible to compute the partial derivatives for the edges of the surface, since more points are needed for the computation.
The second design option is to have the rays launching from segments of the surface between the points in the 2D simulation. For the 3D case, we divide every quad - i.e. square between four adjacent points- using two diagonals. For every possible triangle within a quad, we compute the normal and have a ray starting from the center of the triangle. The advantage of this approach is that we have many more rays than the number of surface samples. For computational stability, the surface must be smooth locally with respect to a segment or a quad.
An easy way to construct a synthetic water surface with a sinusoidal wave with a decaying factor as a function of the distance from the source:
 |
(4) |
where
is the distance from the source, and
and
are arbitrary positive constants to customize amplitudes, decay rate, and angular frequency of the ripples, respectively. Waves originating from several source points can be summed to form a more complex surface. This method of construction is for a time-invariant surface without reflection at the surface boundaries. A more realistic water surface can be obtained using finite differencing of the 2D wave equation. For the sake of simplicity, I use the explicit differencing scheme in the
-domain. Figure 2 is the result of finite differencing with three sources that are Gaussian wavepackets of different amplitudes.
fig-finitdiff
Figure 2. Finite-difference simulation of a water surface with one strong and two weaker sources disturbing the water surface. [ER]
|
|
|
---|
 |
 |
 |
 | Ray tracing modeling and inversion of light intensity under a water surface |  |
![[pdf]](icons/pdf.png) |
Next: Light Source
Up: Forward Simulation
Previous: Forward Simulation
2009-04-13