Tinman.Transform
Description
Enumeration of simple 2D affine transformations.
Each possible combination of the transforms in this enum will result in a transform that is also defined in this enumeration:
Combine(a,b) := a * b ----------------------------------------- Rotate := RotateInv * Center Rotate := Center * RotateInv Rotate := Vertical * Diagonal Rotate := Horizontal * DiagonalInv Rotate := Diagonal * Horizontal Rotate := DiagonalInv * Vertical ----------------------------------------- RotateInv := Rotate * Center RotateInv := Center * Rotate RotateInv := Vertical * DiagonalInv RotateInv := Horizontal * Diagonal RotateInv := Diagonal * Vertical RotateInv := DiagonalInv * Horizontal ----------------------------------------- Center := Rotate * Rotate Center := RotateInv * RotateInv Center := Vertical * Horizontal Center := Horizontal * Vertical Center := Diagonal * DiagonalInv Center := DiagonalInv * Diagonal ----------------------------------------- Vertical := Rotate * Diagonal Vertical := RotateInv * DiagonalInv Vertical := Center * Horizontal Vertical := Horizontal * Center Vertical := Diagonal * RotateInv Vertical := DiagonalInv * Rotate ----------------------------------------- Horizontal := Rotate * DiagonalInv Horizontal := RotateInv * Diagonal Horizontal := Center * Vertical Horizontal := Vertical * Center Horizontal := Diagonal * Rotate Horizontal := DiagonalInv * RotateInv ----------------------------------------- Diagonal := Rotate * Horizontal Diagonal := RotateInv * Vertical Diagonal := Center * DiagonalInv Diagonal := Vertical * Rotate Diagonal := Horizontal * RotateInv Diagonal := DiagonalInv * Center ----------------------------------------- DiagonalInv := Rotate * Vertical DiagonalInv := RotateInv * Horizontal DiagonalInv := Center * Diagonal DiagonalInv := Vertical * RotateInv DiagonalInv := Horizontal * Rotate DiagonalInv := Diagonal * Center
Items
# | Name | Tag |
---|---|---|
None |
- |
|
No transformation. +---+---+ +---+---+ | A | B | | A | B | +---o---+ => +---o---+ o := (0, 0) | C | D | | C | D | +---+---+ +---+---+ This transform does not depend on the direction of the Y-axis. |
||
Center |
- |
|
Flip at center (resp. rotation of 180°).
+---+---+ +---+---+ | A | B | | D | C | +---o---+ => +---o---+ o := (0, 0) | C | D | | B | A | +---+---+ +---+---+ This transform does not depend on the direction of the Y-axis. |
||
Vertical |
- |
|
Flip at X-axis.
+---+---+ +---+---+ | A | B | | C | D | +---o---+ => +---o---+ o := (0, 0) | C | D | | A | B | +---+---+ +---+---+ This transform does not depend on the direction of the Y-axis. |
||
Horizontal |
- |
|
Flip at Y-axis.
+---+---+ +---+---+ | A | B | | B | A | +---o---+ => +---o---+ o := (0, 0) | C | D | | D | C | +---+---+ +---+---+ This transform does not depend on the direction of the Y-axis. |
||
Rotate |
- |
|
Rotation of 90°
+---+---+ +---+---+ ^ Y+ | A | B | | B | D | | +---o---+ => +---o---+ ---+---> X+ | C | D | | A | C | | +---+---+ +---+---+ | +---+---+ +---+---+ | | A | B | | C | A | | +---o---+ => +---o---+ ---+---> X+ | C | D | | D | B | | +---+---+ +---+---+ V Y+ |
||
RotateInv |
- |
|
Inverse rotation of 90°.
+---+---+ +---+---+ ^ Y+ | A | B | | C | A | | +---o---+ => +---o---+ ---+---> X+ o := (0, 0) | C | D | | D | B | | +---+---+ +---+---+ | +---+---+ +---+---+ | | A | B | | B | D | | +---o---+ => +---o---+ ---+---> X+ o := (0, 0) | C | D | | A | C | | +---+---+ +---+---+ V Y+ |
||
Diagonal |
- |
|
Flip at Y = X.
+---+---+ +---+---+ ^ Y+ | A | B | | D | B | | +---o---+ => +---o---+ ---+---> X+ o := (0, 0) | C | D | | C | A | | +---+---+ +---+---+ | +---+---+ +---+---+ | | A | B | | A | C | | +---o---+ => +---o---+ ---+---> X+ o := (0, 0) | C | D | | B | D | | +---+---+ +---+---+ V Y+ |
||
DiagonalInv |
- |
|
Flip at Y = -X.
+---+---+ +---+---+ ^ Y+ | A | B | | A | C | | +---o---+ => +---o---+ ---o---> X+ o := (0, 0) | C | D | | B | D | | +---+---+ +---+---+ | +---+---+ +---+---+ | | A | B | | D | B | | +---o---+ => +---o---+ ---o---> X+ o := (0, 0) | C | D | | C | A | | +---+---+ +---+---+ V Y+ |