Identify directly illuminated surface of a volume

3dcombinatorial-geometrycomputer sciencegeometry

Let $s$ be a light source emitting rays located at $[s_x,s_y,s_z]$, a volume $V$. Without loss of generality, I will consider a rectangular volume of sizes $[L_x,L_y,L_z]$.

Assuming the source is located outside the volume, I wish to identify the directly illuminated surface of $V$. By directly, I mean disregarding propagation of light and considering light which moves in a ray manner.

This image illustrates:

enter image description here

In the blue example, only the front face of the volume will be directly illuminated while on the yellow example all 3 visible faces of the volume are illuminated.

Is a mathematical formulation to identify the un-obscured surfaces? I have seen this paper which does the exact same work for a point cloud but I do not know how to alter this method for surfaces.

Any ideas on the matter? Is this at all possible?

Best Answer

There are respective domains of combinatorial geometry about illumination and in computer science about visibility, so this problem can be already solved.

The case of a smooth shape $V$ probably will lead to a differential equation for the terminator (I don’t mean that mighty guy), but a case of a convex polyhedral shape $V$ is easy. Namely, the illuminated surface is a union of faces (including their boundaries) and a face is illuminated iff any its inner point is illuminated iff an arbitrary its inner point is illuminated. Assuming that $s$ is outside $V$, any point $p$ of the surface is illuminated iff an open segment $(p,s)$ does not intersect the faces of $V$.

Related Question