Показать сообщение отдельно
Старый 25.05.2006, 10:09
iLeon вне форума Посмотреть профиль Отправить личное сообщение для iLeon Найти все сообщения от iLeon
  № 2  
Ответить с цитированием
iLeon

Регистрация: May 2006
Сообщений: 8
По умолчанию расчет цвета

Уважаемый heilong.
Просмотрела вашу идею расчета цвета. Вы можете набросать Ваше решение освещения? У меня есть реализация этой проблемы, но боюсь, что сильно кривая и медленная. Вкратце суть такова: считается скалярное произведение вектора освещения (длины не более 1) на нормаль к грани (тоже единичной длины), и расчитывается цвет способом перемножения полученного числа на цветовые копмоненты. Обязательно учитывается знак этого скалярного произведения. Но я не умею работать с цветом в числовом формате, только в текстовом, поэтому сложные фигуры (более 40 граней) заметно тормозят при их вращении. Неведимые грани я отсекаю, что ускоряет визуализацию, но это помогает слабо.
Реализована библиотека простых фигур - шар, пирамида,конус, тор, цилиндр, правильные многогранники, при инициализации фигуры сразу формируется массив нормалей к граням. Плохо, что при количестве граней, превышающем 100, заметна пауза при формировании фигуры.
Если Вас интересует мой способ решения освещения граней, я с удовольствием его Вам вышлю. Очень хотелось бы выслушать Ваши идеи по оптимизации вычислений, как Вы их реализуете.
В данный момент ломаю голову над математической моделью пересечения тел. В плане реализовать зеркальное отражение на гранях многогранников. К сожалению, почти нет литературы на эту тему. То что мне доступно на данный момент, трудно переводится на алгоритмы. Может, у Вас имеется литература - математическое описание процесса визуализации?