Объекты и геометрические преобразования

4.12. Рекомендуемая литература Векторному анализу и линейной алгебре посвящено огромное множество книг, хотя практически во всех эти два вопроса рассматриваются по отдельности. В среде тех, кто занимается компьютерной графикой, подход к описанию кривых и поверхностей, основанный на использовании векторных пространств, довольно популярен и представлен, например, в книге Фокса (Faux) и Пратта (Pratt) [Fau80]. Введению в геометрическое программирование посвящены книги Де Розе (DeRose) [DeR89, DeR90J. Однородные координаты были придуманы геометрами [Мах51] и только значительно позже их открыли для себя специалисты по компьютерной графике [Rie81J. Аппаратно методы преобразований в однородных координатах впервые были реализованы в Silicon Graphics Geometry Engine [С1а82]. В современных графических станциях используются специализированные БИС (ASIC - Application Specific Integrated Circuits), которые среди прочих функций реализуют и преобразования в однородных координатах.

Использование кватернионов в графических системах при анимации изображения описано Шомейкером (Shoemaker) в работе [Sho85].

Для изучения методов работы с матрицами геометрических преобразований прекрасно подходят современные программные продукты Mathematica [Wol91] и Matlab [Mat95].

Упражнения

4.1. Рассмотрите решение любого линейно-дифференциального уравнения с постоянными коэффициентами или аналогичного разностного уравнения. Докажите, что решения однородных уравнений образуют векторное пространство. Покажите связь между решением определенного неоднородного уравнения и аффинным пространством.

4.2. Покажите, что следующие последовательности коммутативны:

поворот и равномерное масштабирование;

два поворота вокруг одной и той же оси;

два смещения.

4.3. Разработайте библиотеку функций, которая позволит реализовать геометрическое программирование. Библиотека должна содержать функции манипулирования базовыми геометрическими типами (точками, прямыми, векторами) и операциями над этими типами, включая скалярное и векторное произведение. Функции должны допускать изменение фрейма. Включите в библиотеку и функции взаимодействия с OpenGL, что позволит просматривать на экране результаты геометрических вычислений.


⇐ Предыдущая| |Следующая ⇒