Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вектор нормали [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.
и т.д.

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо