7.3.
Источник на бесконечности
В случае бесконечно удалённого источника света мы предполагаем, что лучи света, приходящие к объекту, полностью параллельны. Это позволит нам решить уравнение проекции только раз и применять полученное решение ко всем вершинам объекта.
Общая
постановка задачи:
Имея точку источника света (xS, yS,
zS) и вершину объекта (xP, yP, zP)
, мы хотим получить проекцию вершины объекта на плоскость z=0, т.е. точку тени
(x5, y5, z5).
Из подобных треугольников получаем:
решая это уравнение относительно x5, получаем:
если принять, что L это вектор из точки P к
источнику света, то точку S можно выразить как
S = P - aL (3)
т.к. мы производим проекцию на плоскость z=0, то уравнение (3) можно переписать в следующем виде: 0 = zp - azs (4) или a = zp / zs (5)
решая (3) относительно x5 и y5,
получаем:
Теперь имея координаты точки P в мировом координатном пространстве, можно получить её проекцию на плоскость z=0 просто путём умножения на матрицу М5: S = M5 * P (8)