![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вектор нормали [Delphi, Windows]
Rudi © (2004-02-04 12:01:00)Здравствуйте ВСЕ! Подскажите пожалуйста начинающему юзеру OpenGL в Delphi. Есть такая задача- нарисовать поверхность по заданному набору точек в пространстве. Хочу это сделать треугольниками. И тут столкнулся с такой проблемой - насколько я понял, для правильного освещения моей поверхности, для каждого треугольника должен быть задан вектор нормали. Вопрос: этот вектор мне самому надо рассчитывать, или в ЖэЭль есть свои средства расчета нормали? Или нужен какой-то другой метод вобще?
Заранее спасибо всем!
Asteroid (2004-02-04 22:28:00) [1]Длина вектора нормали должна быть равна 1. Поэтому тот вектор, который будет получен из векторного произведения еще нужно будет поделить на его длину. А интенсивность - это уже параметры источника света.
MrAngel (2004-02-04 17:58:00) [2]По моему да. Влияет на интенсивность освещения.
Rudi (2004-02-04 16:39:00) [3]Leon:
значит вы утверждаете, что в opengl нет встроенных средств для определения вектора нормали...
тогда вопрос - имеет ли принципиальное значение длина вектора нормали?
Leon (2004-02-04 15:26:00) [4]ИМХО:
r1 = {x1,y1,z1};
r2 = {x2,y2,z2};
r3 = ... - радиус-векторы точек треугольника.
Вектор нормали можно найти как векторное произведение двух векторов лежащих в грани, н-р (r1-r2) и (r3-r2):
N2 = [(r3-r2)x(r1-r2)] - нормаль к точке с р.в. r2.
и т.д.
Определение векторного произведения см. в любом учебнике по линейной алгебре.