- •Применение машинной графики
- •Симметрию относительно точки будем обозначать как Sm.
- •Преобразования на плоскости
- •Поворот
- •Масштабирование
- •Однородные координаты и композиция матричных преобразований
- •Технические средства мг. Устройства вывода изображения
- •Устройства ввода
- •Методы моделирования логических устройств
- •Матричное представление 3d преобразований
- •Трехмерный перенос
- •Масштабирование
- •Поворот
- •Композиция 3d преобразований
- •Методы интерактивного графического взаимодействия
- •Эскизирование и построение чертежей
- •Трехмерные интерактивные графические методы
- •Специальные методы трехмерного интерактивного графического моделирования
- •Математическое обеспечение кг
- •Векторная алгебра
- •Специальные методы трехмерного интерактивного графического моделирования
- •Математическое обеспечение кг
- •Математическое описание плоских проекций
- •Уравнение прямой линии
- •Уравнения плоских кривых
- •Параметрические уравнения прямых и кривых
- •Проекции
- •Центральные проекции
- •Параллельные проекции
- •Касательные и нормали к кривым
- •Кривизна
- •Вращения вокруг произвольного центра
- •Симметрия относительно оси проходящей через начало координат
- •Симметрия относительно оси, не проходящей через начало координат
- •Изображение трехмерных объектов
Симметрию относительно точки будем обозначать как Sm.
Симметрия относительно оси, проходящей через начало координат. Преобразование симметрии на плоскости, в неподвижной системе координат XOY, относительно оси, проходящей через центр системы координат (задаваемой уравнением прямой вида y = f (x )), определяется следующими координатными уравнениями:
x'= x * Cos + y * Sin
y'= x * Sin - y * Cos ,
где угол =2a . А угол a есть угол наклона прямой к оси ОХ.
Или, в матричном виде [x’ y’]=[ x y] * [ Cos Sin ]
[ Sin - Cos ].
Симметрию относительно оси, проходящей через начало координат, будем обозначать как Sm () .
Запишем БП в сжатом виде. Тогда Перенос, Поворот, Масштабирование и Симметрия относительно оси будут определяться в следующем виде, соответственно:
P’ = P + T (Dx Dy)
P’ = P * R (a)
P’ = P * S (Kx Ky)
P’ = P * Sm ( ).
Можно отметить, что Перенос, к сожалению, реализуется сложением, а Поворот, Масштабирование и Симметрия умножением. Так как сложное АП необходимо определять, как комбинацию последовательных БП, через их произведение, то желательно, представлять все преобразования на основании одного действия «умножения», чтобы их можно было легко объединять. Т.е. необходимо избавиться от действия «сложения» при определении значений координат в результате Переноса. Для этого, целесообразно, осуществить переход от Декартовых координат к треугольным координатам на плоскости, которые будем называть однородными. Однородные координаты широко применяются в проективной геометрии и предоставляют возможность задание точки на плоскости в треугольной системе координат, как расстояние от точки до каждой прямой. Известная Декартова система координат, есть частный случай треугольной системы координат, когда одна из прямых находится в бесконечности.
В этом случае, Декартова координата точки P(x y) записывается как P (X, Y, w) в однородной системе координат (треугольной), для любого масштабного множите w 0. При этом, если для точки задано представление в однородных координатах P (X, Y, w), то можно найти ее двумерные декартовы координаты как x=X/ w и y=Y/ w. Если принять w=1, то деление на единицу делает переход от декартовых координат к однородным и обратно тривиальным.
Будем рассматривать случай, когда w=1. Точки теперь описываются тремя элементарными вектор-строками. Поэтому матрицы преобразований должны иметь размерность 3 х 3. Если выразить точки в однородных координатах, то все три преобразования можно реализовать с помощью умножения, в том числе и Перенос. И это есть главный результат перехода к однородным координатам.
Тогда, уравнение Переноса будет иметь вид:
[x’ y’ 1]=[ x y 1] * [1 0 0 ]
[ 0 1 0 ]
[Dx Dy 1].
Уравнение Поворота будет иметь вид:
[x’ y’ 1]=[ x y 1] * [ Cos Sin 0 ]
[ - Sin Cos 0 ]
[ 0 0 1 ].
Уравнение Масштабирования будет иметь вид:
[x’ y’ 1]=[ x y 1] * [Kx 0 0 ]
[ 0 Ky 0 ]
[ 0 0 1 ].
Уравнение Симметрии относительно точки:
[x’ y’ 1]=[ x y 1] * [ -1 0 0 ]
[ 0 -1 0 ]
[ 0 0 1 ].
И уравнение Симметрии относительно оси:
[x’ y’ 1]=[ x y 1] * [Cos Sin 0 ]
[Sin - Cos 0 ]
[ 0 0 1 ],
где угол =2 и угол есть угол наклона прямой (оси симметрии) к оси ОХ.
Композиция преобразований:
1) Вращения вокруг произвольного центра
Осуществляется поворот вокруг точки с координатами x = m, y = n на угол против часовой стрелки. Преобразования выполняется как последовательность трех преобразований:
1. Сдвиг центра вращения в начало координат.
2. Поворот на угол вокруг начала координат.
3. Сдвиг центра вращения в исходное положение.
Матрицы аффинных преобразований не зависят от преобразуемых точек. Результирующее преобразование записывается в виде:
[1 0 0 ]
[ 0 1 0 ]
[-m -n 1]
[ Cos Sin 0 ]
[ - Sin Cos 0 ]
[ 0 0 1 ].
[x’ y’ 1]= [ x y 1] * * *
[1 0 0 ]
[ 0 1 0 ]
[ m n 1]
[ Cos Sin 0 ]
[ - Sin Cos 0 ]
[ -m(Cos -1)+n*Sin -mSin -n*(Cos -1) 1]
* = [ x y 1] *
Последняя матрица определяет результирующее преобразование – композицию преобразований - как результат перемножения трех матриц БП.
2) Симметрия относительно оси, не проходящей через начало координат
Пусть ось симметрии наклонена к оси ОX под углом и пересекает ось в точке х = m. Тогда результирующее преобразование определяется как последовательность базовых преобразований:
1. Сдвиг оси симметрии параллельно себе в начало координат.
2. Симметрия относительно оси проходящей через начало координат.
3. Возврат оси в исходное положение.
Результирующее преобразование принимает вид, угол =2 :
[1 0 0 ] [ Cos Sin 0 ]
[x’ y’ 1]= [ x y 1] * [ 0 1 0 ] * [ - Sin Cos 0 ] *
[-m -n 1] [ 0 0 1 ]
[1 0 0 ]
[ 0 1 0 ]
[m 0 1]
[ Cos Sin 0 ]
[ Sin -Cos 0 ]
[ m*(1- Cos ) -m* Sin 1 ]
* = [x y 1] *
Последняя матрица определяет результирующее преобразование симметрий относительно оси, не проходящей через начало координат – композицию преобразований - как результат перемножения трех матриц БП.
