Домой
назад Оглавление вперед




[стр.-2]

Следует отметить, что вопрос преобразования нормалей неактуален в системах с автоматическим расчетом нормалей к полигону после трансформации (например, через векторное произведение граней треугольника). Однако очень часто вершины, составляющие треугольник, уже содержат нормали, используемые для освещения, и в этом случае необходимо корректно преобразовывать нормали.

Расчет обратной матрицы

Для нахождения обратной матрицы можно воспользоваться одним из трех способов нахождения обратного преобразования:

•Если матрица представляет собой единственную трансформацию либо набор простых трансформаций, обратная матрица находится следующим образом: если M=T(t)R(y), то M-1=R(-()T(-t).

•Если известно, что матрица ортогональна, тогда обратная матрица равна транспонированной: M1=MT. Любая последовательность поворотов является ортогональной матрицей.

•В общем случае для расчета обратной матрицы следует воспользоваться методом сопряжения, либо правилом Крамера, либо методом исключения Гаусса. Правило Крамера и метод сопряжения наиболее предпочтительны, так как в современных системах следует избегать условных выражений с целью уменьшения ошибок предсказания центрального процессора (тестами корпорации Intel было показано, что на процессоре Pentium III метод исключения Гаусса занимает 1074 процессорных цикла, правило Крамера - s46 циклов, правило Крамера с использованием потоковых инструкций процессора (Intels Streaming SIMD Extensions) - всего 210 циклов [6]).

Программная реализация

Рассмотренные методы манипуляции объектами реализованы программно в составе интерактивной системы визуализации реального времени. Для функционирования системы визуализации необходима операционная система Win9x,NT,XP, поддержка видеокартой версии OpenGL 1.2. Рекомендуемая операционная система WinXP и поддержка видеокартой версии OpenGL 1.5.

Литература

1.Смирнов В. И., Курс высшей математики, том 3. Часть 1. - М.: ФМЛ, 1974.

2.Streaming SIMD Extensions - inverse of 4x4 Matrix. Order Number 245043-001. Intel Corp. March 1999. developer.intel.com/vtune/compilers/cpp/matrix lib.htm.

3.Курош А. Г., Курс высшей алгебры. - М.: ФМЛ, 1971.

4.Shoemake, Ken. Animating Rotation with Quaternion Curves. Computer Graphics (SIGGRAPH 85 Proceedings).

5.Shoemake, Ken. Euler Angles Conversions. Graphics Gems IV. Academic Press. www.graphicsgems.com.

6.Watt, Alan, and Mark Watt. Advanced Animation and Rendering Techniques - Theory and Practice. Addison-Wesley, 1992.



[стр.Начало] [стр.1] [стр.2]
web hosting ny лучшие цены на сайте нью-йорк .