Вниз
Скачать: CL | DM;

Вектор нормали   Найти похожие ветки 

 
Rudi   (2004-02-04 12:01) [0]

Здравствуйте ВСЕ! Подскажите пожалуйста начинающему юзеру OpenGL в Delphi. Есть такая задача- нарисовать поверхность по заданному набору точек в пространстве. Хочу это сделать треугольниками. И тут столкнулся с такой проблемой - насколько я понял, для правильного освещения моей поверхности, для каждого треугольника должен быть задан вектор нормали. Вопрос: этот вектор мне самому надо рассчитывать, или в ЖэЭль есть свои средства расчета нормали? Или нужен какой-то другой метод вобще?
Заранее спасибо всем!


 
Leon   (2004-02-04 15:26) [1]

ИМХО:
r1 = {x1,y1,z1};
r2 = {x2,y2,z2};
r3 = ...        - радиус-векторы точек треугольника.
Вектор нормали можно найти как векторное произведение двух векторов лежащих в грани, н-р (r1-r2) и (r3-r2):

N2 = [(r3-r2)x(r1-r2)] - нормаль к точке с р.в. r2.
и т.д.

Определение векторного произведения см. в любом учебнике по линейной алгебре.


 
Rudi   (2004-02-04 16:39) [2]

Leon:
значит вы утверждаете, что в opengl нет встроенных средств для определения вектора нормали...
тогда вопрос - имеет ли принципиальное значение длина вектора нормали?


 
MrAngel   (2004-02-04 17:58) [3]

По моему да. Влияет на интенсивность освещения.


 
Asteroid ©   (2004-02-04 22:28) [4]

Длина вектора нормали должна быть равна 1. Поэтому тот вектор, который будет получен из векторного произведения еще нужно будет поделить на его длину. А интенсивность - это уже параметры источника света.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
1-1084558995
ИМХО
2004-05-14 22:23
2004.05.30
OLE-автоматизация Outlook а


4-1082444024
Iraizor
2004-04-20 10:53
2004.05.30
Активная форма и мигание =)


4-1081938230
Tommy
2004-04-14 14:23
2004.05.30
NTQuerySystemInformation and Threads


8-1079528146
16xmax
2004-03-17 15:55
2004.05.30
Графика


4-1080885334
Sapsi
2004-04-02 09:55
2004.05.30
Поиск edit и button в чужом окне




   Наверх