ВУЗ:
Составители:
Основы компьютерной графики для программистов 27
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
Рассмотрим далее операцию вращения точки на некоторый угол относительно начала
координат. На рисунке 25 точка
(
)
yx,A
=
переходит в точку
(
)
''
,B yx= поворотом на угол
α
.
Найдем преобразование координат точки А в
точку В. Обозначим
β
угол, который составляет
радиус-вектор
A
с осью Оx. Пусть r – длина
радиус-вектора
A
, тогда
()( )
βαβαβα
SinSinCosCosrCosrx ⋅−⋅=+⋅=
'
()( )
βαβαβα
SinCosCosSinrSinry ⋅+⋅=+⋅=
'
Так как
r
x
Cos =
β
и
r
y
Sin =
β
, то подставляя
эти выражения в уравнения для
'
x
и
'
y ,
получаем:
αα
SinyCosxx ⋅−⋅=
'
αα
CosySinxy ⋅+⋅=
'
Поворот точки А на угол
α
относительно начала координат выглядит следующим
образом:
[]
[]
⎥
⎦
⎤
⎢
⎣
⎡
−
=
αα
αα
CosSin
SinCos
yxyx
,,
''
Однородные координаты и матричное представление
двумерных преобразований
В предыдущем параграфе были рассмотрены три вида преобразований точек на
плоскости. Два из них – операции вращения и масштабирования - описываются в виде
произведения матрицы на вектор, а третья – операция переноса – описывается как
сумма двух векторов. В случае последовательного выполнения любой комбинации
операций вращения и масштабирования результат легко можно записать в виде
произведения
матриц соответствующих преобразований. Это будет матрица
результирующего поворота и масштабирования. Очевидно, что удобнее применять
результирующую матрицу вместо того, чтобы каждый раз заново вычислять
произведение матриц. Однако, таким способом нельзя получить результирующую
матрицу преобразования, если среди последовательности преобразований присутствует
хотя бы один перенос. Матричное произведение в компьютерной графике также
называют композицией.
Было бы удобнее иметь математический аппарат,
позволяющий включать в композиции преобразований все три выше указанные
операции. При этом получился бы значительный выигрыш в скорости вычислений.
Введение однородных координат позволяет решить эту проблему
*
.
*
Более строгое определение однородных координат дается в разделе линейной
алгебры «Проективные пространства».
Рис. 11. Операция поворота (вращения)
относительно начала координат.
Основы компьютерной графики для программистов 27
____________________________________________________________________________________________________________________
Рассмотрим далее операцию вращения точки на некоторый угол относительно начала
координат. На рисунке 25 точка A = ( x, y )
( )
переходит в точку B = x ' , y ' поворотом на угол
α.
Найдем преобразование координат точки А в
точку В. Обозначим β угол, который составляет
радиус-вектор A с осью Оx. Пусть r – длина
радиус-вектора A , тогда
x ' = r ⋅ Cos(α + β ) = r (Cosα ⋅ Cosβ − Sinα ⋅ Sinβ )
y ' = r ⋅ Sin(α + β ) = r (Sinα ⋅ Cosβ + Cosα ⋅ Sinβ )
Так как Cosβ = x и Sinβ = y , то подставляя Рис. 11. Операция поворота (вращения)
r r относительно начала координат.
'
эти выражения в уравнения для x и y',
получаем:
x ' = x ⋅ Cosα − y ⋅ Sinα
y ' = x ⋅ Sinα + y ⋅ Cosα
Поворот точки А на угол α относительно начала координат выглядит следующим
образом:
α Sinα ⎤
[x , y ] = [x, y ]⎡⎢−Cos
' '
Sinα Cosα ⎥⎦
⎣
Однородные координаты и матричное представление
двумерных преобразований
В предыдущем параграфе были рассмотрены три вида преобразований точек на
плоскости. Два из них – операции вращения и масштабирования - описываются в виде
произведения матрицы на вектор, а третья – операция переноса – описывается как
сумма двух векторов. В случае последовательного выполнения любой комбинации
операций вращения и масштабирования результат легко можно записать в виде
произведения матриц соответствующих преобразований. Это будет матрица
результирующего поворота и масштабирования. Очевидно, что удобнее применять
результирующую матрицу вместо того, чтобы каждый раз заново вычислять
произведение матриц. Однако, таким способом нельзя получить результирующую
матрицу преобразования, если среди последовательности преобразований присутствует
хотя бы один перенос. Матричное произведение в компьютерной графике также
называют композицией. Было бы удобнее иметь математический аппарат,
позволяющий включать в композиции преобразований все три выше указанные
операции. При этом получился бы значительный выигрыш в скорости вычислений.
Введение однородных координат позволяет решить эту проблему*.
*
Более строгое определение однородных координат дается в разделе линейной
алгебры «Проективные пространства».
http://www.ksu.ru/persons/9134.ru.html
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »
