ВУЗ:
Составители:
y ) поворачивается на угол ϕ по часовой стрелке относительно какой-либо
точки М ( x
М
, y
М
) .
Уравнение преобразования вращения применяется только для
поворота точек относительно начала координат, поэтому вначале
необходимо сдвинуть точку ( x , y ) так, чтобы точка М ( x
М
, y
М
) стала
началом координат
[ x` y` 1 ] = [ x y 1 ]
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−−
1
010
001
MM
yx
,
затем произвести поворот точки (x`,y`) на угол
ϕ:
[ x`` y`` 1 ] = [ x` y` 1 ]
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−
100
0cossin
0sincos
ϕϕ
ϕϕ
.
Возвратим начало системы координат в исходное положение, т.е.
произведем обратный сдвиг:
[ x``` y``` 1 ] = [ x`` y`` 1 ]
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
1
010
001
MM
yx
.
Для конкретных значений x
М
, y
М
и ϕ можно эту последовательность
преобразований представить как одно преобразование (совмещенное). При
совмещении не должен нарушаться порядок выполнения преобразований :
[ x`` y`` 1 ] = [ x y 1 ]
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−−
1
010
001
MM
yx
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
−
100
0cossin
0sincos
ϕϕ
ϕϕ
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
1
010
001
MM
yx
.
Эту формулу можно использовать для вращения фигуры вокруг любой
точки. Применение совмещенного преобразования обеспечивает
компактную запись и уменьшает объем вычислений.
Трехмерные преобразования вращения сложнее двумерных
преобразований. Здесь необходимо задать направление и расположение оси
вращения . Вначале рассмотрим вращение вокруг координатных осей.
Вращение вокруг координатной оси X, проходящей через точку
(0,0,0), выражается матрицей:
[ x` y` z` 1 ] = [ x y z 1 ]
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−
1000
0cossin0
0sincos0
0001
ϕϕ
ϕϕ
.
Здесь угол поворота
ϕ берется по часовой стрелке вокруг начала координат ,
если смотреть в направлении начала координат из точки, расположенной на
положительной полуоси X .
Вращение вокруг координатной оси Y выражается матрицей:
y ) поворачивается на угол ϕ по часовой стрелке относительно какой-либо
точки М ( xМ , yМ) .
Уравнение преобразования вращения применяется только для
поворота точек относительно начала координат, поэтому вначале
необходимо сдвинуть точку ( x , y ) так, чтобы точка М ( xМ , yМ) стала
началом координат
⎡ 1 0 0⎤
[ x` y` 1 ] = [ x y 1 ] ⎢⎢ 0 1 0⎥⎥ ,
⎢⎣− x M − yM 1⎥⎦
затем произвести поворот точки (x`,y`) на угол ϕ:
⎡cos ϕ − sin ϕ 0⎤
[ x`` y`` 1 ] = [ x` y` 1 ] ⎢⎢ sin ϕ cos ϕ 0⎥⎥ .
⎢⎣ 0 0 1⎥⎦
Возвратим начало системы координат в исходное положение, т.е.
произведем обратный сдвиг:
⎡1 0 0⎤
[ x``` y``` 1 ] = [ x`` y`` 1 ] ⎢⎢ 0 1 0⎥⎥ .
⎢⎣ x M yM 1⎥⎦
Для конкретных значений xМ , yМ и ϕ можно эту последовательность
преобразований представить как одно преобразование (совмещенное). При
совмещении не должен нарушаться порядок выполнения преобразований :
⎡ 1 0 0⎤ ⎡cos ϕ − sin ϕ 0⎤ ⎡1 0 0⎤
[ x`` y`` 1 ] = [ x y 1 ] ⎢⎢ 0 1 0⎥⎥ ⎢ sin ϕ
⎢ cos ϕ 0⎥⎥ ⎢0
⎢ 1 0⎥⎥ .
⎢⎣− x M − yM 1⎥⎦ ⎢⎣ 0 0 1⎥⎦ ⎢⎣ x M yM 1⎥⎦
Эту формулу можно использовать для вращения фигуры вокруг любой
точки. Применение совмещенного преобразования обеспечивает
компактную запись и уменьшает объем вычислений.
Трехмерные преобразования вращения сложнее двумерных
преобразований. Здесь необходимо задать направление и расположение оси
вращения . Вначале рассмотрим вращение вокруг координатных осей.
Вращение вокруг координатной оси X, проходящей через точку
(0,0,0), выражается матрицей:
⎡1 0 0 0⎤
⎢0 cos ϕ − sin ϕ 0⎥⎥
[ x` y` z` 1 ] = [ x y z 1 ] ⎢ .
⎢0 sin ϕ cos ϕ 0⎥
⎢ ⎥
⎣0 0 0 1⎦
Здесь угол поворота ϕ берется по часовой стрелке вокруг начала координат ,
если смотреть в направлении начала координат из точки, расположенной на
положительной полуоси X .
Вращение вокруг координатной оси Y выражается матрицей:
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »
