Задачи графических преобразований в приложениях моделирования с использованием ЭВМ — страница 2

  • Просмотров 2176
  • Скачиваний 232
  • Размер файла 40
    Кб

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

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

двумерному случаю принято обозначать символом (2D) (2-dimention). Допустим, что на плоскости введена прямолинейная координатная система. Тогда каждой точке М ставится в соответствие упорядоченная пара чисел (х, у) ее координат (рис. 1). Вводя на плоскости еще одну прямолинейную систему координат, мы ставим в соответствие той же точке М другую пару чисел – (x*, y*). 0 Y X M (x, y) Рис. 1 Переход от одной прямолинейной координатной системы на

плоскости к другой описывается следующими соотношениями: x* = ax + by +l, (2.1) y* = gx + by + m, (2.2) где a, b, g, l, m -- произвольные числа, связанные неравенством: a b = 0. (2.3) g d Формулы (2.1) и (2.2) можно рассматривать двояко: либо сохраняется точка и изменяется координатная система (рис. 2) – в этом случае произвольная точка М остается той же, изменяются лишь ее координаты (х, у) | (х*, y*), либо изменяется точка и сохраняется координатная система (рис. 3) – в этом

случае формулы (2.1) и (2.2) задают отображение, переводящее произвольную точку М (х, у) в точку М* (х*, у*), координаты которой определены в той же координатной системе. X* 0 Y X M 0* Y* Рис. 2 0 Y X M M* Рис. 3 В дальнейшем, формулы (2.1) и (2.2) будут рассматриваться как правило, согласно которому в заданной системе прямолинейных координат преобразуются точки плоскости. В аффинных преобразованиях плоскости особую роль играют несколько вжных частных

случаев, имеющих хорошо прослеживаемыегеометрические характеристики. При исследовании геометрического смысла числовых коэффицентов в формулах (2.1) и (2.2) для этих случаев удобно считать, что заданная система координат является прямоугольной декартовой. 1.      Поворот вокруг начальной точки на угол j (рис. 4) описывается формулами: х* = x cosj - y sinj, (2.3) y* = x sinj - y cosj. (2.4) 2. Растяжение (сжатие) вдоль координатных осей можно