Graphics Reference
In-Depth Information
and for simplicity, we will use a unit vector to represent an edge, therefore
v
1
=
v
2
=1
The coordinates of the rotated point
P
,
P
are given by the following transform
⎡
⎤
⎡
⎤
⎡
⎤
x
y
z
sin(72
◦
)
0
cos(
γ
)
−
sin(
γ
)0
⎣
⎦
=
⎣
⎦
⎣
⎦
sin(
γ
)
cos(
γ
)0
cos(72
◦
)
0
0
1
−
where
x
=cos(
γ
) sin(72
◦
)
y
=sin(
γ
) sin(72
◦
)
z
=
cos(72
◦
)
−
But
.
v
2
=
v
1
v
2
cos(
θ
)=
xx
+
yy
+
zz
v
1
therefore
cos(
θ
)=cos(
γ
)sin
2
(72
◦
)+cos
2
(72
◦
)
but
θ
equals 108
◦
(internal angle of a regular pentagon)
therefore
cos(
γ
)=
cos(108
◦
)
cos
2
(72
◦
)
sin
2
(72
◦
)
−
cos(72
◦
)
cos(72
◦
)
=
−
1
The dihedral angle
γ
= 116
.
56505
◦
A similar technique can be used to calculate the dihedral angles of the
other Platonic objects.
12.4 Vector Normal to a Triangle
Very often in computer graphics we have to calculate a vector normal to a
plane containing three points. The most effective tool to achieve this is the
vector product. For example, given three points
P
1
(5
,
0
,
0)
,P
2
(0
,
0
,
5) and
P
3
(10
,
0
,
5), we can create two vectors
a
and
b
as follows:
⎡
⎤
⎡
⎤
x
2
−
x
1
x
3
−
x
1
⎣
⎦
⎣
⎦
a
=
y
2
−
y
1
b
=
y
3
−
y
1
z
2
−
z
1
z
3
−
z
1
therefore
a
=
−
5
i
+5
kb
=5
i
+5
k