Текущий архив: 2004.05.30;
Скачать: 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 вся ветка
Текущий архив: 2004.05.30;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.047 c