8.2 การหมุนภาพ (Rotation)
การหมุนภาพใน 3 มิติแบ่งเป็น 4 แบบดังนี้คือ
1.
หมุนรอบแกน X (แกน X ไม่เปลี่ยน)
จะได้สมการดังนี้
X
= X
Y
= Y * cosq - Z * sinq
จากสมการ สามารถเขียนในรูปของ Matrix ได้ดังนี้
1 0 0 0
[
X Y Z 1] =
[ X Y Z 1] 0 cosq sinq 0
0 -sinq cosq 0
0 0 0 1
2.
หมุนรอบแกน Y (แกน Y ไม่เปลี่ยน)
จะได้สมการดังนี้
X
= Z * cosq - X * sinq
Y
= Y
จากสมการ สามารถเขียนในรูปของ Matrix ได้ดังนี้
cosq 0 -sinq 0
[
X Y Z 1] =
[ X Y Z 1] 0 1 0 0
sinq 0 cosq 0
0 0 0 1
3.
หมุนรอบแกน Z (แกน Z ไม่เปลี่ยน)
จะได้สมการดังนี้
Z
= Z
จากสมการ สามารถเขียนในรูปของ Matrix ได้ดังนี้
cosq sinq 0 0
[
X Y Z 1] =
[ X Y Z 1] -sinq cosq 0 0
0 0 1 0
0 0 0 1
4.
หมุนรอบแกนใด ๆ
ทำ 3 ขั้นตอนดังนี้
1.
ย้ายแกนใดๆไปยังแกนที่เหมาะสมในการหมุน
2.
ทำการหมุนรอบแกนนั้น
3.
ย้ายแกนกลับที่เดิม
ซึ่ง 3
ขั้นตอนสามารถนำ Transformation
Matrix ของแต่ละขั้นตอนมาคูณกันก่อนแล้วจึงนำไปคูณกับจุดแต่ละจุดที่ใช้นิยามภาพจะทำให้ง่ายขึ้น
1 0 0 0 Transformation 1 0 0 0
[
X Y Z 1] =
[ X Y Z 1] 0 1 0 0 Matrix
สำหรับ 0 1 0 0
0 0 1 0 การหมุนรอบแกน 0 0 1 0
Tx Ty Tz 1 ที่เหมาะสม -Tx -Ty -Tz 1