ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »