Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

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

(1.28)

где W (t) – матрица текущего преобразования на момент времени t.

В дифференциальной форме для расчета матрицы С (t + ∆t) новых координат на очередном шаге используется матрица С (t) координат, полученных на предыдущем шаге:

(1.29)

где ∆W – матрица элементарно малого преобразования за время ∆t.

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

Ниже показано как в интегральной форме выглядят частные виды непрерывных преобразований.

Преобразование плоскопараллельного перемещения:

. (1.30)

Для моделирования равномерного прямолинейного перемещения следует задать mx (t) = vx t и my (t) = vy t, где vx, vy – составляющие скорости, [1/цикл].

Преобразование вращения относительно начала координат:

. (1.31)

Для моделирования равномерного вращения следует задать угловую скорость w, [рад/цикл].

Преобразование масштабирования относительно начала координат:

. (1.32)

Для моделирования линейного изменения масштабов по осям со скоростями vx и vy:

(1.33)

При программной реализации этого закона следует контролировать и не допускать использование нулевых значений sx (t) и sy (t), приводящих к вырождению преобразуемых объектов.

Эффекту приближения и удаления фигур лучше соответствует показательный закон изменения масштаба:

(1.33)

Этот закон удобен и в реализации, так как нулевые значения sx (t) и sy (t) здесь исключаются.

Простейшие законы изменения параметров в приведенных преобразованиях даны в качестве примеров.

Теперь приведем вид матриц элементарно-малых преобразований для дифференциальной формы.

Плоскопараллельное перемещение:

(1.35)

Вращение:

(1.36)

Масштабирование:

(1.37)

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





Дата публикования: 2015-04-07; Прочитано: 338 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...