Graphics Reference
In-Depth Information
Pre-multiplying a vector
p
by the product
nm
creates
p
such that given:
p
=
p
1
e
1
+
p
2
e
2
nmp
=|
n
||
m
|
(
cos
β
−
sin
β
e
12
)(p
1
e
1
+
p
2
e
2
)
=|
n
||
m
|
(
cos
βp
1
e
1
+
cos
βp
2
e
2
+
sin
βp
1
e
2
−
sin
βp
2
e
1
)
|
(
cos
βp
1
−
cos
βp
2
)
e
2
p
=|
n
||
m
sin
βp
2
)
e
1
+
(
sin
βp
1
+
p
1
p
2
cos
β
p
1
p
2
−
sin
β
=|
n
||
m
|
sin
β
cos
β
and confirms that the vector
p
is rotated
β
and scaled by
|
n
||
m
|
.
Post-multiplying a vector
p
by the product
nm
creates
p
such that given:
p
=
p
1
e
1
+
p
2
e
2
pnm
=
(p
1
e
1
+
p
2
e
2
)
|
n
||
m
|
(
cos
β
−
sin
β
e
12
)
=|
n
||
m
|
(p
1
e
1
cos
β
−
p
1
e
2
sin
β
+
p
2
e
2
cos
β
+
p
2
e
1
sin
β)
|
(p
1
cos
β
p
2
cos
β)
e
2
p
=|
n
||
m
+
p
2
sin
β)
e
1
+
(
−
p
1
sin
β
+
p
1
p
2
p
1
p
2
cos
β
sin
β
=|
n
||
m
|
−
sin
β
cos
β
and confirms that the vector
p
is rotated
. By making
n
and
m
unit vectors, the product
nm
rotates a vector without scaling, which is an
essential quality for a rotation transform.
Before proceeding, we should clarify the effect of reversing the product
nm
to
mn
. Therefore, assuming that vectors
n
and
m
remain unchanged, the product
mn
is given by:
−
β
and scaled by
|
n
||
m
|
n
=
n
1
e
1
+
n
2
e
2
m
=
m
1
e
1
+
m
2
e
2
mn
=
m
·
n
+
m
∧
n
=|
n
||
m
|
cos
β
+|
m
||
n
|
sin
β
e
12
sin
β
e
12
) .
Pre-multiplying a vector
p
by the product
mn
creates
p
such that given:
=|
n
||
m
|
(
cos
β
+
p
=
p
1
e
1
+
p
2
e
2
mnp
=|
n
||
m
|
(
cos
β
+
sin
β
e
12
)(p
1
e
1
+
p
2
e
2
)
=|
n
||
m
|
(
cos
βp
1
e
1
+
cos
βp
2
e
2
−
sin
βp
1
e
2
+
sin
βp
2
e
1
)
|
(
cos
βp
1
+
cos
βp
2
)
e
2
p
=|
n
||
m
sin
βp
2
)
e
1
+
(
−
sin
βp
1
+
p
1
p
2
p
1
p
2
cos
β
sin
β
=|
n
||
m
|
−
sin
β
cos
β
and confirms that the vector
p
is rotated
−
β
and scaled by
|
n
||
m
|
.