Произвольные линейные комбинации можно создавать из векторов, но не из точек. Для точек допустимы только аффинные комбинации, в противном случае при изменении используемых систем координат, что часто случается в графике, возникнет хаос. Исключительно полезными в графике являются аффинные комбинации точек, и мы показали, что они составляют основу «твининга» (построения промежуточных отображений) для анимации и для кривых Безье.

Параметрическая форма прямой линии или луча особенно удобна в таких задачах, как определение точки пересечения двух прямых или точки пересечения луча с многоугольником или с многогранником. Эти задачи важны сами по себе, но они также лежат в основе алгоритмов отсечения, которые являются важнейшими в графике. Отсекатель Сайруса-Бека, который определяет, где прямая, заданная в параметрической форме, попадает в ту же точку пространства, что и неявно заданные прямая или плоскость, может решать больший класс задач, чем отсекатель Кохена-Сазерленда из главы 2. Далее в этой книге мы рассмотрим отсекатель Сайруса-Бека в других контекстах.

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

Векторные инструменты для графики

4.10. Тематические задания Тематическое задание 4.1. Анимация с твинингом Уровень сложности II.

Придумайте две интересные ломаные линии, подобных ломаным Л и В, которые изображены на рис. 4.47. Позаботьтесь о том, чтобы ломаные Ли В имели одинаковое число вершин, а при необходимости искусственно добавьте дополнительную вершину, например, в верхний отрезок ломаной В.

1. Разработайте подпрограмму, подобную drawTween (А, В. п. t) из листинга 4.2, которая рисует твин, соответствующий моменту t для ломаных А и В.


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