|
Добрый день, мне необходимо создать тень, как это выглядит в теории примерно понимаю, но вот на практике не могу реализовать. Суть такая: Есть объект напоминающий автобус, состоящий из куба, есть источник света находящийся в точке с координатами (0,1,3), координаты вершин крыши автобуса: (-1,1,-1); (-1,1,1); (2,1,1); (2,1,-1). есть плоскость на которой находится автобус. Координаты плоскости (-40.0, -1.3, 40.0), (-40.0, -1.3,-40.0), ( 40.0, -1.3,-40.0), ( 40.0, -1.3, 40.0).
Необходимо сделать так чтобы от автобуса на плоскость падала тень. В теории должно выглядеть примерно так: находим уравнение прямых проходящих через источник света и через вершины крыши автобуса, затем находим уравнение нашей плоскости, после чего находим точки пересечения прямых и плоскости, в этих точках строим прямоугольник и выделяем его цветом темнее чем плоскость. Вот как то так, применить на практике это не могу, честно говоря забыл уже курс геометрии, может кто то сталкивался с таким и может помочь? Либо я это слишком сложно думаю как должно выглядеть... Код прогаммы во вложенном файле, писалось в visual studio 2005 win32 console application.
|