PIXI.groupD8
namespace groupD8
Implements the dihedral group D8, which is similar to group D4; D8 is the same but with diagonals, and it is used for texture rotations.
The directions the U- and V- axes after rotation
of an angle of a: GD8Constant
are the vectors (uX(a), uY(a))
and (vX(a), vY(a))
. These aren't necessarily unit vectors.
Origin:
This is the small part of gameofbombs.com portal system. It works.
Summary
Properties from groupD8
number |
|
number |
|
number |
|
number |
|
number |
|
number |
|
number |
|
number |
|
number |
|
number |
|
number |
|
number |
|
Methods from groupD8
PIXI.GD8Symmetry |
Composes the two D8 operations. |
PIXI.GD8Symmetry |
|
PIXI.GD8Symmetry |
|
boolean |
|
void |
|
number |
|
PIXI.GD8Symmetry |
|
PIXI.GD8Symmetry |
|
PIXI.GD8Symmetry |
|
PIXI.GD8Symmetry |
|
PIXI.GD8Symmetry |
|
Public Properties
static REVERSE_DIAGONAL: number = 14
Reflection about reverse diagonal.
Public Methods
static add(rotationSecond: PIXI.GD8Symmetry, rotationFirst: PIXI.GD8Symmetry) → {PIXI.GD8Symmetry}
Composes the two D8 operations.
Taking ^
as reflection:
E=0 | S=2 | W=4 | N=6 | E^=8 | S^=10 | W^=12 | N^=14 | |
---|---|---|---|---|---|---|---|---|
E=0 | E | S | W | N | E^ | S^ | W^ | N^ |
S=2 | S | W | N | E | S^ | W^ | N^ | E^ |
W=4 | W | N | E | S | W^ | N^ | E^ | S^ |
N=6 | N | E | S | W | N^ | E^ | S^ | W^ |
E^=8 | E^ | N^ | W^ | S^ | E | N | W | S |
S^=10 | S^ | E^ | N^ | W^ | S | E | N | W |
W^=12 | W^ | S^ | E^ | N^ | W | S | E | N |
N^=14 | N^ | W^ | S^ | E^ | N | W | S | E |
Name | Type | Description |
---|---|---|
rotationSecond | PIXI.GD8Symmetry |
Second operation, which is the row in the above cayley table. |
rotationFirst | PIXI.GD8Symmetry |
First operation, which is the column in the above cayley table. |
Type | Description |
---|---|
PIXI.GD8Symmetry |
Composed operation |
static byDirection(dx: number, dy: number) → {PIXI.GD8Symmetry}
Approximates the vector V(dx,dy)
into one of the
eight directions provided by groupD8
.
Name | Type | Description |
---|---|---|
dx | number |
X-component of the vector |
dy | number |
Y-component of the vector |
Type | Description |
---|---|
PIXI.GD8Symmetry |
Approximation of the vector into one of the eight symmetries. |
static inv(rotation: PIXI.GD8Symmetry) → {PIXI.GD8Symmetry}
Name | Type | Description |
---|---|---|
rotation | PIXI.GD8Symmetry |
symmetry whose opposite is needed. Only rotations have opposite symmetries while reflections don't. |
Type | Description |
---|---|
PIXI.GD8Symmetry |
The opposite symmetry of |
static isVertical(rotation: PIXI.GD8Symmetry) → {boolean}
Checks if the rotation angle is vertical, i.e. south or north. It doesn't work for reflections.
Name | Type | Description |
---|---|---|
rotation | PIXI.GD8Symmetry |
The number to check. |
Type | Description |
---|---|
boolean |
Whether or not the direction is vertical |
static matrixAppendRotationInv(matrix: PIXI.Matrix, rotation: PIXI.GD8Symmetry, tx: number, ty: number) → {void}
Helps sprite to compensate texture packer rotation.
Name | Type | Default | Description |
---|---|---|---|
matrix | PIXI.Matrix |
sprite world matrix |
|
rotation | PIXI.GD8Symmetry |
The rotation factor to use. |
|
tx | number | 0 |
sprite anchoring |
ty | number | 0 |
sprite anchoring |
Type | Description |
---|---|
void |
static rotate180(rotation: number) → {number}
Adds 180 degrees to rotation, which is a commutative operation.
Name | Type | Description |
---|---|---|
rotation | number |
The number to rotate. |
Type | Description |
---|---|
number |
Rotated number |
static sub(rotationSecond: PIXI.GD8Symmetry, rotationFirst: PIXI.GD8Symmetry) → {PIXI.GD8Symmetry}
Reverse of add
.
Name | Type | Description |
---|---|---|
rotationSecond | PIXI.GD8Symmetry |
Second operation |
rotationFirst | PIXI.GD8Symmetry |
First operation |
Type | Description |
---|---|
PIXI.GD8Symmetry |
Result |
static uX(ind: PIXI.GD8Symmetry) → {PIXI.GD8Symmetry}
Name | Type | Description |
---|---|---|
ind | PIXI.GD8Symmetry |
sprite rotation angle. |
Type | Description |
---|---|
PIXI.GD8Symmetry |
The X-component of the U-axis after rotating the axes. |
static uY(ind: PIXI.GD8Symmetry) → {PIXI.GD8Symmetry}
Name | Type | Description |
---|---|---|
ind | PIXI.GD8Symmetry |
sprite rotation angle. |
Type | Description |
---|---|
PIXI.GD8Symmetry |
The Y-component of the U-axis after rotating the axes. |
static vX(ind: PIXI.GD8Symmetry) → {PIXI.GD8Symmetry}
Name | Type | Description |
---|---|---|
ind | PIXI.GD8Symmetry |
sprite rotation angle. |
Type | Description |
---|---|
PIXI.GD8Symmetry |
The X-component of the V-axis after rotating the axes. |
static vY(ind: PIXI.GD8Symmetry) → {PIXI.GD8Symmetry}
Name | Type | Description |
---|---|---|
ind | PIXI.GD8Symmetry |
sprite rotation angle. |
Type | Description |
---|---|
PIXI.GD8Symmetry |
The Y-component of the V-axis after rotating the axes. |