    Tutorial #2 - Shadows - Introduction
These tutorials try to solve basic problems using easy to understand solutions rather than optimized complex math. Basically, this is a simple way of getting to the answer, not an elegant collection of mathematical skill.
Finding each point of the shadow For every point of the object we need to shadow, we'll use the x, y and z coordinate value. Using a side view as in the diagram - the top value is the light source, middle is the object point and the ground is the bottom where the shadow will be projected. By using the proportion between the light source and polygon point (the shaded region), we can then calculate where the shadow point resides on the plane.

The proportion for this example is 1.0 / 1.6 = 0.625. By using this value we can find where the shadow will occur for both the shadow.x, shadow.y values. We are assuming the diagram shows the x and z coordinates, the position of the light is at (0.0, 5.0) and the object point is at (1.0, 3.4). We can then calculate the exact shadow point by extending the shaded triangle (what we know) to the plane.

To project the shadow, we will use the calculation 5.0 x 0.625 = 3.125 which is multiplying the total height by the triangle proportion to give the Shadow.x value. Algebraically, we are basically doing (1.6 / 1.0) = (5.0 / x) -> (1.0 * 5.0) = 1.6x -> x = 5.0 / 1.6 = 3.125. By extending this into 3D, some simple and pretty good shadows can be produced.        