Преобразования:
----------------------------------------------------------------------------
Transformation Eucledian Simularity Affine Projective
----------------------------------------------------------------------------
Rotation Yes Yes Yes Yes
Translation Yes Yes Yes Yes
Uniform scaling No Yes Yes Yes
Non-uniform scaling No No Yes Yes
Shear No No Yes Yes
Perspective projection No No No Yes
Composition of project. No No No Yes
----------------------------------------------------------------------------
Invariants
----------------------------------------------------------------------------
Length Yes No No No
Angle Yes Yes No No
Ratio of length Yes Yes No No
Parallelism Yes Yes Yes No
Incidence Yes Yes Yes Yes
Cross ration Yes Yes Yes Yes
----------------------------------------------------------------------------
u{1} = a{1,1} v{1} + a{1,2} v{2} + a{1,3} v{3}
u{2} = a{2,1} v{1} + a{2,2} v{2} + a{2,3} v{3}
u{3} = a{3,1} v{1} + a{3,2} v{2} + a{3,3} v{3}
|u1| |a11 a12 a13||v1|
|u2| = |a21 a22 a23||v2|
|u3| |a31 a32 a33||v3|
2D
Маштабирование (dilatation)
|a 0 0|
|0 b 0|
|0 0 1|
Вращение (rotation) CCW
| c s 0|
|-s c 0|
| 0 0 1|
Сдвиг (translation)
|1 0 0|
|0 1 0|
|a b 1|
Зеркальное отражение
|1 0 0|
|0 -1 0| about X-axe
|0 0 1|
|-1 0 0|
| 0 1 0| about Y-axe
| 0 0 1|
|-1 0 0|
| 0 -1 0| через центр координат
| 0 0 1|
|0 1 0|
|1 0 0| через линию x=y (Swap axes)
|0 0 1|
Shear
Y shear
|1 0 0|
|a 1 0|
|0 0 1|
X shear
|1 b 0|
|0 1 0|
|0 0 1|
3D
Сдвиг
x' = x + a
y' = y + b
z' = z + c
|1 0 0 0|
|0 1 0 0|
|0 0 1 0|
|a b c 1|
Маштабирование
|a 0 0 0|
|0 b 0 0|
|0 0 c 0|
|0 0 0 1|
Вращение CCW вокруг осей:
Вращение в пространстве не коммутативно
(порядок операций важен).
c = cos a
s = sin a
| c s 0 0 |
z |-s c 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
| 1 0 0 0 |
x | 0 c s 0 |
| 0 -s c 0 |
| 0 0 0 1 |
| c 0 -s 0 |
y | 0 1 0 0 |
| s 0 c 0 |
| 0 0 0 1 |
Отражения
от | 1 0 0 0 |
пл. xy | 0 1 0 0 |
| 0 0 -1 0 |
| 0 0 0 1 |
|-1 0 0 0 |
от пл.yz| 0 1 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
| 1 0 0 0 |
от пл zx| 0 -1 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |