24.12.2014 Views

Download now

Download now

Download now

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Quaternion กับการหมุน<br />

1. นิยามของ Quaternion<br />

นิยาม Quaternion สามารถนิยามได้ 3 แบบ คือ<br />

แบบที่ (i) Quaternion คือ vector หนึ่งที่มี 4 องค์ประกอบ หรือ<br />

<br />

p p<br />

p iˆ<br />

p ˆj<br />

0 1 2<br />

<br />

p kˆ<br />

3<br />

แบบที่ (ii) Qoaternion คือ scalar บวกด้วย vector ที่มี 3 องค์ประกอบ หรือ<br />

<br />

<br />

( p 0<br />

p)<br />

<br />

ˆ<br />

p โดยที่ p p1i<br />

p2<br />

j p3k<br />

แบบที่ (iii) Quaternion คือ complex number ที่มี “imaginary’’ อยู่ 3 ส่วน<br />

โดยที่<br />

<br />

p p0 p1i<br />

p2<br />

j p3k<br />

ˆ<br />

ˆ<br />

ดังนั้น ถ้าเรามี Quaternion 3 ปริมาณ คือ p<br />

<br />

, q<br />

<br />

และ r<br />

<br />

สามารถเขียนได้เป็น<br />

2. การกระท าของ Quaternion<br />

2.1 การบวก/ลบ Quaternion<br />

ถ้าเรามี Quaternion 2 ปริมาณ คือ<br />

จะได้<br />

<br />

<br />

ตัวอย่าง ถ้า<br />

<br />

p p0 p1i<br />

p2<br />

j p3k<br />

และ<br />

p q p q ) ( p q ) i ( p q ) j ( p q ) k<br />

<br />

<br />

<br />

ตัวอย่าง ถ้า<br />

(<br />

0 0 1 1 2 2 3<br />

<br />

3<br />

p 1<br />

2i<br />

3 j 4k<br />

และ<br />

<br />

q 2 i 5 j 2k<br />

จะได้<br />

p q ( 1<br />

2) (2 1)<br />

i (3 5) j (4 2) k 3 i 8 j 2k<br />

<br />

<br />

<br />

p 0.6<br />

2i<br />

4 j 3k<br />

และ<br />

<br />

q 0.2<br />

3i<br />

5 j 7k<br />

<br />

q q0 q1i<br />

q2<br />

j q3k<br />

จะได้<br />

p q ( 0.6 0.2) (2 3) i (4 5) j ( 3<br />

7) k 0.8 5i<br />

9 j 4k<br />

<br />

<br />

p q ( 0.6 0.2) (2 3) i (4 5) j ( 3<br />

7) k 0.4 i j 10k<br />

โดยมีคุณสมบัติส าหรับการบวก/ลบ คือ


p<br />

q q<br />

p<br />

<br />

<br />

<br />

( p<br />

q)<br />

r p<br />

( q<br />

r )<br />

<br />

<br />

<br />

<br />

Commutativ e<br />

Associative<br />

2.2 การคูณ Quaternion<br />

ถ้าเรามี Quaternion 2 ปริมาณ คือ<br />

<br />

p p1i<br />

p2<br />

j p3k<br />

<br />

<br />

p q ( p q<br />

( p q<br />

0<br />

2<br />

( p q<br />

( p q<br />

0<br />

0<br />

2<br />

p q<br />

0<br />

0<br />

0<br />

0<br />

p q<br />

0<br />

0<br />

0<br />

0<br />

2<br />

0<br />

0<br />

1<br />

1<br />

( p q<br />

1<br />

และ<br />

p q j p q k p q<br />

2<br />

2<br />

1<br />

1<br />

1<br />

p q<br />

3<br />

1<br />

1<br />

1<br />

<br />

<br />

p p0 p1i<br />

p2<br />

j p3k<br />

q q0 q1i<br />

q2<br />

j q3k<br />

0<br />

2<br />

2<br />

2<br />

0<br />

2<br />

2<br />

p q p q<br />

2<br />

p q<br />

p q<br />

0<br />

2<br />

2<br />

2<br />

2<br />

2<br />

p q ) ( p q<br />

3<br />

p q ) j ( p q<br />

3<br />

p q ) p<br />

3<br />

( q i q<br />

หรือ<br />

( p2q3<br />

p3q2)<br />

i ( p3q1<br />

p1q3<br />

) j ( p1q2<br />

p2q1<br />

) k<br />

<br />

[ p0q0<br />

p q]<br />

[ p0q<br />

q0<br />

p p q]<br />

<br />

<br />

p q p <br />

p q q p p<br />

0<br />

0<br />

2<br />

3<br />

1<br />

3<br />

3<br />

3<br />

3<br />

2<br />

3<br />

0<br />

0<br />

1<br />

3<br />

0<br />

1<br />

0<br />

1<br />

0<br />

1<br />

3<br />

0<br />

1<br />

3<br />

2<br />

1<br />

p q<br />

1<br />

3<br />

0<br />

0<br />

1<br />

p q<br />

2<br />

หรือ<br />

p q i p q k p q j p q i p q<br />

<br />

<br />

p p 0<br />

pเมื่อ<br />

<br />

<br />

q q 0<br />

q เมื่อ q i q j q k<br />

p q i p q j p q k p q i p q p q k p q j <br />

1<br />

1<br />

1<br />

j q k)<br />

q<br />

3<br />

2<br />

1<br />

3<br />

3<br />

p q<br />

3<br />

2<br />

3<br />

p q<br />

0<br />

1<br />

1<br />

2<br />

p q ) k<br />

0<br />

2<br />

3<br />

1<br />

2<br />

2<br />

( p i p<br />

1<br />

3<br />

3<br />

3<br />

1<br />

q<br />

1 2<br />

<br />

3<br />

p q i p q j p q k)<br />

( p q i p q ii p q ij p q ik ) <br />

j p q ji p q jj p q jk ) ( p q k p q ki<br />

p q kj<br />

p q kk)<br />

1<br />

2<br />

3<br />

p q ) i <br />

โดยที่ เป็น<br />

0 0<br />

q scalar และ เป็น 0<br />

0<br />

q vector<br />

ตัวอย่าง ถ้า<br />

<br />

<br />

<br />

p 1<br />

2i<br />

3 j 4k<br />

3<br />

23i<br />

11j<br />

19k<br />

และ<br />

<br />

q 2 i 5 j 2k<br />

จะได้<br />

2 2 15<br />

8 i 5 j 2k<br />

4i<br />

6 j 8k<br />

26i<br />

13k<br />

3<br />

2<br />

3<br />

j p k)<br />

<br />

p q (1 2) (2<br />

( 1)<br />

3<br />

5 4<br />

( 2))<br />

( i<br />

5 j 2k)<br />

2(2i<br />

3 j 4k)<br />

<br />

(3<br />

( 2)<br />

4<br />

5) i (4<br />

( 1)<br />

2<br />

( 2))<br />

j (2<br />

5 3<br />

( 1))<br />

k<br />

โดยมีคุณสมบัติส าหรับการคูณ คือ<br />

<br />

<br />

<br />

<br />

( pq)<br />

r p(<br />

qr )<br />

แต่<br />

<br />

<br />

<br />

<br />

<br />

pq<br />

q p<br />

Associative<br />

Non - commutative<br />

2.3 Quaternion บริสุทธิ์<br />

Quaternion บริสุทธิ์ คือ Quaternion ที่ปริมาณ scalar เป็นศูนย์<br />

<br />

p<br />

1 2 3<br />

0 p i p j p k<br />

3<br />

3<br />

จะได้


ดังนั้น ถ้าพิจารณาการคูณ Quaternion จะพบว่า pq [ 0 p q]<br />

[0<br />

0 p q]<br />

p q p q<br />

และจะได้<br />

<br />

<br />

p p p p p p p p p<br />

2.4 ขนาดของ Quaternion (Magnitude/Norm/Modulus ของ Quaternion)<br />

2<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

ถ้า Quaternion คือ<br />

<br />

p p0 p1i<br />

p2<br />

j p3k<br />

ดังนั้น Magnitude/Norm/Modulus ของ<br />

<br />

2 2 2 2<br />

Quaternion จะมีเป็น p p p p <br />

0 1 2<br />

p3<br />

2.5 Quaternion หนึ่งหน่วย (Unit Quaternion)<br />

Quaternion หนึ่งหน่วย คือ Quaternion ที่มีขนาดหนึ่งหน่วย<br />

pˆ<br />

1;<br />

<br />

p <br />

p<br />

2 2 2 2<br />

0<br />

p1<br />

p2<br />

p3<br />

<br />

เราสามารถท าการ normalise ปริมาณ Quaternion ใดๆ ให้มีขนาดหนึ่งหน่วยได้โดย<br />

qˆ<br />

<br />

2.6 Quaternion Conjugate<br />

<br />

q<br />

<br />

q<br />

1<br />

<br />

p<br />

<br />

p<br />

ถ้า Quaternion คือ<br />

<br />

p p0 p1i<br />

p2<br />

j p3k<br />

0<br />

p1i<br />

p2<br />

j p3k<br />

p0<br />

( p1i<br />

p2<br />

j p3k<br />

)<br />

ดังนั้น Quaternion Conjugate คือ<br />

พิจารณาผลคูณระหว่าง p และ <br />

p<br />

<br />

p p<br />

p<br />

2<br />

0<br />

( p i p<br />

p<br />

p<br />

<br />

<br />

1<br />

2<br />

0<br />

2<br />

0<br />

p<br />

2<br />

( p i p<br />

2<br />

1<br />

( p i p<br />

p<br />

1<br />

2<br />

1<br />

2<br />

2<br />

2<br />

j p k)<br />

( (<br />

p i p<br />

p<br />

3<br />

2<br />

j p k)<br />

( p i p<br />

2<br />

3<br />

3<br />

3<br />

1<br />

j p k)<br />

( p i p<br />

p<br />

1<br />

1<br />

2<br />

2<br />

j p k))<br />

2<br />

j p k)<br />

<br />

3<br />

3<br />

j p k)<br />

3<br />

p ( p i <br />

0<br />

1<br />

p j <br />

2<br />

p k)<br />

<br />

3<br />

p ( (<br />

p i <br />

0<br />

1<br />

p j <br />

2<br />

p k))<br />

<br />

3<br />

หรือ<br />

<br />

<br />

p p p คุณสมบัติอื่นๆ ที่น่าสนใจ ได้แก่<br />

<br />

p p<br />

<br />

<br />

p p และ<br />

(<br />

<br />

<br />

p q)<br />

q p<br />

2.7 Inverse Quaternion<br />

ถ้า Quaternion คือ<br />

<br />

1<br />

p p0 p1i<br />

p2<br />

j p3k<br />

1<br />

<br />

สอดคล้องกับคุณสมบัติ p p p p 1<br />

ต่อมาคูณทั้งหมดด้วย<br />

ดังนั้น Inverse Quaternion คือ<br />

<br />

p จะได้<br />

<br />

p<br />

p p<br />

1<br />

p<br />

1<br />

p<br />

ซึ่ง<br />

1<br />

<br />

p<br />

p <br />

<br />

p


1<br />

<br />

นั่นคือ p ในกรณี Quaternion หนึ่งหน่วยซึ่ง p 1 ดังนั้น<br />

<br />

2<br />

<br />

p<br />

<br />

p<br />

<br />

p<br />

p<br />

<br />

p<br />

<br />

2<br />

1<br />

<br />

p p<br />

<br />

ตัวอย่าง ถ้า<br />

<br />

1 1<br />

q 1<br />

i j <br />

3 3<br />

1<br />

k<br />

3<br />

จงหา<br />

1 <br />

q<br />

2<br />

เมื่อเราทราบ q ท าให้หาค่า conjugate q 1<br />

i j k<br />

<br />

2 1 2 1 2 1 2 1 1 1<br />

q (1) ( ) ( ) ( ) 1<br />

2 ได้ตามล าดับ<br />

3 3 3 3 3 3<br />

<br />

1<br />

3<br />

1<br />

3<br />

1<br />

3<br />

และขนาด<br />

1<br />

<br />

จากสูตร q ดังนั้น จะได้<br />

2<br />

q<br />

<br />

q<br />

1<br />

q<br />

1 <br />

1<br />

2 <br />

1<br />

i <br />

3<br />

1<br />

3<br />

j <br />

1 1<br />

k <br />

3 2<br />

<br />

1<br />

i <br />

12<br />

1<br />

12<br />

j <br />

1<br />

k<br />

12<br />

3. Quaternion กับการหมุนใน 3 มิติ<br />

เราสามารถประยุกต์ใช้ Quaternion กับการหมุนใน 3 มิติ ซึ่งแยกแต่ละกรณีดังต่อไปนี้ พิจารณาการ<br />

หมุนเวคเตอร์ u รอบเวคเตอร์ vˆ ซึ่งตั้งฉากกัน จะได้เวคเตอร์<br />

<br />

0<br />

<br />

<br />

vˆ<br />

u<br />

ดังรูป และให้ q เป็น Quaternion<br />

หนึ่งหน่วย q q vˆ<br />

โดยที่ v q iˆ<br />

q ˆj<br />

q kˆ<br />

และให้ p เป็น pure quaternion p 0 u<br />

ˆ<br />

1 2<br />

<br />

3<br />

<br />

<br />

ซึ่งเราสามารถหารูปแบบของ q ได้ดังต่อไปนี้ พิจารณาผลคูณ<br />

<br />

<br />

p<br />

q p ( q vˆ)(0<br />

u)<br />

vˆ<br />

u<br />

q0u<br />

<br />

0<br />

<br />

<br />

q p โดยใช้สูตรการคูณ Quaternion<br />

vˆ<br />

u


แต่เนื่องจากเวคเตอร์ vˆ และ u ตั้งฉากกัน ดังนั้น vˆ<br />

u<br />

0ท าให้ได้ q p q u vˆ<br />

0<br />

u<br />

และยิ่งไปกว่า<br />

<br />

นั้นเนื่องจากเวคเตอร์ vˆ เป็น unit vector ดังนั้น ขนาดของ vˆ u<br />

เท่ากับ u ซึ่งหมายความว่า เวคเตอร์ u <br />

<br />

และเวคเตอร์ vˆ u<br />

มีขนาดความยาวเท่ากัน ดังนั้น ถ้าต้องการหมุนเวคเตอร์ u รอบเวคเตอร์ vˆ แล้ว<br />

สามารถท าได้โดยแทน q<br />

0<br />

ด้วย cos<br />

และแทน ด้วย sin<br />

ดังนั้น จะได้<br />

<br />

<br />

<br />

<br />

q p cosu<br />

sin<br />

(ˆ v u)<br />

<br />

และ q cos sin<br />

(ˆ v)<br />

แต่พบว่า<br />

<br />

<br />

p<br />

q p ˆ v u<br />

q u vˆ<br />

0<br />

u<br />

นี้มีปัญหา 2 ประการ คือ<br />

1. การหมุนบางลักษณะได้ค่า Quaternion p ที่ไม่ใช่ค่า pure quaternion ซึ่งไม่สามารถแปลง p<br />

ให้เป็นจุด p<br />

(x ,<br />

y ,<br />

z)<br />

2. มุมการหมุนที่ก าหนดให้กับมุมที่หมุนไปจริงต่างกัน<br />

ดังนั้น จึงมีการแก้ไขปัญหาดังกล่าวโดยการคูณ<br />

หลังการหมุนใหม่เป็นดังนี้<br />

1<br />

q p ด้วย q จึงท าให้ได้สูตรค านวณหาต าแหน่งของจุด<br />

1<br />

p<br />

q pq<br />

<br />

(1 cos<br />

)(ˆ v u)ˆ<br />

v cosu<br />

sin<br />

(ˆ v u)<br />

ในกรณีหมุนทวนเข็มนาฬิกา<br />

<br />

1<br />

<br />

และ p<br />

q q p (1 cos<br />

)(ˆ v u)ˆ<br />

v cosu<br />

sin<br />

(ˆ v u)<br />

<br />

<br />

ในกรณีหมุนตามเข็มนาฬิกา<br />

3.1 การหมุนรอบแกนมาตราฐาน<br />

ตัวอย่าง<br />

พิจารณากรณีหมุนจุด P(2, 0, 0) รอบแกน z โดยมีจุดก าเนิด (0, 0, 0) เป็นจุดหมุน ดังรูป<br />

ขั้นตอนที่ 1 แปลงจุด P(2, 0, 0) ให้เป็น pure quaternion พบว่า<br />

<br />

<br />

p 0 u 0 2ˆ i 0 ˆj<br />

0kˆ<br />

2iˆ<br />

<br />

ดังนั้น จะได้ u 2iˆ


ขั้นตอนที่ 2 พิจารณาแกนหมุน โดยในที่นี้แกนหมุนคือ แกน z ดังนั้น จากรูปพบว่า vˆ kˆ<br />

และ<br />

Unit quaternion ซึ่งก็คือ<br />

q iˆ<br />

q ˆj<br />

q kˆ<br />

vˆ 1 2<br />

<br />

3<br />

<br />

q q<br />

q iˆ<br />

q ˆj<br />

0 1 2<br />

<br />

q kˆ<br />

เป็น Unit vector ดังนั้น q q v<br />

ขั้นตอนที่ 3 แทนค่า u 2iˆ<br />

p<br />

q pq<br />

<br />

1<br />

, v kˆ<br />

<br />

3<br />

2 2 2 2<br />

โดยที่ q q q 1<br />

0<br />

<br />

<br />

ˆ และ 45 จะได้<br />

ˆ<br />

q และ<br />

0 1 2 3<br />

<br />

ˆ ˆ<br />

<br />

<br />

(1 cos45 )( k 2ˆ) i k cos45 (2ˆ) i sin 45 ( kˆ<br />

2ˆ) i<br />

Dot product<br />

Cross product<br />

ˆ iˆ<br />

<br />

ˆj<br />

ˆj<br />

kˆ<br />

kˆ<br />

1<br />

i และ i j j k k i<br />

0<br />

ˆ<br />

ˆ<br />

ˆ<br />

ˆ<br />

ˆ<br />

ˆ<br />

1<br />

p<br />

q pq<br />

0 2<br />

2<br />

iˆ<br />

2<br />

2<br />

2<br />

2<br />

ˆj<br />

ซึ่งแปลงเป็นจุดได้ดังนี้ P ( 2, 2,0)<br />

ตัวอย่าง<br />

พิจารณากรณีหมุนจุด P(0, 1, 1) รอบแกน y ในทิศทวนเข็มนาฬิกา ดังรูป จงหาจุด P<br />

ขั้นตอนที่ 1 แปลงจุด P(0, 1, 1) ให้เป็น pure quaternion พบว่า<br />

<br />

<br />

p 0 u 0 0ˆ i ˆj<br />

kˆ<br />

ˆj<br />

kˆ<br />

ดังนั้น จะได้ u ˆj<br />

kˆ<br />

ขั้นตอนที่ 2 พิจารณาแกนหมุน โดยในที่นี้แกนหมุนคือ แกน y ดังนั้น จากรูปพบว่า vˆ ˆj<br />

ขั้นตอนที่ 3 แทนค่า u <br />

, vˆและ 90 จะได้<br />

1<br />

<br />

p q p q<br />

ˆj<br />

ˆj<br />

k ˆ<br />

<br />

j ˆ<br />

<br />

(1 cos90 )( ( ˆ) cos90 ( j kˆ)<br />

sin90 ( ˆj<br />

( ˆj<br />

kˆ))<br />

ˆj<br />

( ˆj<br />

kˆ)<br />

ˆj<br />

ˆj<br />

( ˆj<br />

kˆ)<br />

( ˆj<br />

ˆ) j ˆj<br />

( ˆj<br />

kˆ)<br />

ˆj<br />

ˆj<br />

ˆj<br />

ˆj<br />

kˆ<br />

0 ˆj<br />

0 iˆ<br />

iˆ<br />

ˆj


ซึ่งสามารถแปลงได้เป็น P (1,1,0) ดังแสดงในรูปข้างต้น<br />

ตัวอย่าง<br />

พิจารณาลูกบาศก์ต่อไปนี้<br />

ซึ่งมีจุดมุมยอดดังนี้<br />

กรณีหมุนรอบแกน x ดังรูป<br />

วิธีท า<br />

จุด P 0 (0, 0, 0) หมุนรอบแกน ไป 90 องศา<br />

<br />

<br />

p 0 u 0 0ˆ i 0 ˆj<br />

0kˆ<br />

0<br />

<br />

<br />

vˆ iˆ<br />

ดังนั้น จะได้ u 0<br />

1<br />

<br />

<br />

<br />

p<br />

q p q (1 cos90 )(ˆ v u) vˆ<br />

cos90 u sin90 ( vˆ<br />

u)<br />

<br />

<br />

<br />

(1 cos90 )(ˆ i 0)ˆ i cos90 (0) sin90 (ˆ i 0)<br />

0ˆ i 0 ˆj<br />

0kˆ<br />

P 0<br />

(0,0,0)


จุด P 1 (0, 0, 1)<br />

<br />

<br />

<br />

<br />

<br />

p 0 u 0 0ˆ i 0 ˆj<br />

kˆ<br />

kˆ<br />

vˆ iˆ<br />

<br />

ดังนั้น จะได้ u kˆ<br />

1<br />

<br />

<br />

<br />

p<br />

q p q (1 cos90 )(ˆ v u) vˆ<br />

cos90 u sin90 ( vˆ<br />

u)<br />

<br />

(1 cos90 )(ˆ i kˆ)ˆ<br />

<br />

<br />

i cos90 ( kˆ)<br />

sin90 (ˆ i kˆ)<br />

0ˆ i ˆj<br />

0kˆ<br />

P 1<br />

(0,-1,0)<br />

จุด P 2 (0, 0, 0)<br />

<br />

<br />

<br />

<br />

<br />

p 0 u 0 0ˆ i ˆj<br />

0kˆ<br />

<br />

vˆ iˆ<br />

ˆj<br />

<br />

ดังนั้น จะได้<br />

u j<br />

1<br />

<br />

<br />

<br />

p<br />

q p q (1 cos90 )(ˆ v u) vˆ<br />

cos90 u sin90 ( vˆ<br />

u)<br />

<br />

(1 cos90 )(ˆ i ˆ)ˆ<br />

<br />

<br />

j i cos90 ( ˆ) j sin90 (ˆ i ˆ) j<br />

0ˆ i 0 ˆj<br />

kˆ<br />

P 2<br />

(0,0,1)<br />

จุด P 3 (0, 0, 0)<br />

<br />

<br />

<br />

<br />

<br />

p 0 u 0 0ˆ i ˆj<br />

kˆ<br />

ˆj<br />

kˆ<br />

vˆ iˆ<br />

ดังนั้น จะได้ u ˆj<br />

kˆ<br />

1<br />

<br />

<br />

<br />

p<br />

q p q (1 cos90 )(ˆ v u) vˆ<br />

cos90 u sin90 ( vˆ<br />

u)<br />

<br />

(1 cos90 )(ˆ i ( ˆj<br />

kˆ))ˆ<br />

<br />

i cos90 ( ˆ<br />

<br />

j kˆ)<br />

sin90 (ˆ i ( ˆj<br />

kˆ))<br />

0ˆ i ˆj<br />

kˆ<br />

P 3<br />

(0,-1,1)<br />

จุด P 4 (1, 0, 0)<br />

<br />

<br />

<br />

<br />

<br />

p 0 u 0 iˆ<br />

0 ˆj<br />

0kˆ<br />

iˆ<br />

vˆ iˆ<br />

<br />

<br />

ดังนั้น จะได้ u iˆ<br />

1<br />

<br />

<br />

<br />

p<br />

q p q (1 cos90 )(ˆ v u) vˆ<br />

cos90 u sin90 ( vˆ<br />

u)<br />

<br />

(1 cos90 )(ˆ i iˆ)ˆ<br />

<br />

<br />

i cos90 (ˆ) i sin90 (ˆ i (ˆ)) i<br />

iˆ<br />

0 ˆj<br />

0kˆ<br />

ˆ


P 4<br />

(1,0,0)<br />

จุด P 5 (1, 0, 1)<br />

<br />

<br />

<br />

<br />

<br />

p 0 u 0 iˆ<br />

0 ˆj<br />

kˆ<br />

iˆ<br />

kˆ<br />

vˆ iˆ<br />

<br />

ดังนั้น จะได้ u iˆ kˆ<br />

1<br />

<br />

<br />

<br />

p<br />

q p q (1 cos90 )(ˆ v u) vˆ<br />

cos90 u sin90 ( vˆ<br />

u)<br />

<br />

(1 cos90 )(ˆ i (ˆ i kˆ))ˆ<br />

<br />

<br />

i cos90 (ˆ i kˆ)<br />

sin90 (ˆ i (ˆ i kˆ))<br />

iˆ<br />

ˆj<br />

0kˆ<br />

P 5<br />

(1,-1,0)<br />

จุด P 6 (1, 1, 0)<br />

<br />

<br />

<br />

<br />

<br />

p 0 u 0 iˆ<br />

ˆj<br />

0kˆ<br />

iˆ<br />

ˆj<br />

vˆ iˆ<br />

<br />

ดังนั้น จะได้ u iˆ ˆj<br />

1<br />

<br />

<br />

<br />

p<br />

q p q (1 cos90 )(ˆ v u) vˆ<br />

cos90 u sin90 ( vˆ<br />

u)<br />

<br />

(1 cos90 )(ˆ i (ˆ i ˆ))ˆ<br />

<br />

<br />

j i cos90 (ˆ i ˆ) j sin90 (ˆ i (ˆ i <br />

iˆ<br />

0 ˆj<br />

kˆ<br />

ˆ)) j<br />

P 6<br />

(1,0,1)<br />

จุด P 7 (1, 1, 1)<br />

<br />

<br />

<br />

<br />

<br />

p 0 u 0 iˆ<br />

ˆj<br />

kˆ<br />

vˆ iˆ<br />

<br />

ดังนั้น จะได้ u iˆ<br />

ˆj<br />

kˆ<br />

1<br />

<br />

<br />

<br />

p<br />

q p q (1 cos90 )(ˆ v u) vˆ<br />

cos90 u sin90 ( vˆ<br />

u)<br />

<br />

(1 cos90 )(ˆ i (ˆ i ˆj<br />

kˆ))ˆ<br />

<br />

i cos90 (ˆ i ˆ<br />

<br />

j kˆ)<br />

sin90 (ˆ i (ˆ i <br />

iˆ<br />

ˆj<br />

kˆ<br />

P 4<br />

(1,-1,1)<br />

ส าหรับอีก 2 กรณี คือ หมุนรอบแกน y และ z นั้นก็สามารถกระท าได้ด้วยวิธีการเดียวกัน<br />

ˆj<br />

kˆ))<br />

หมุนรอบแกน y


หมุนรอบแกน z<br />

3.2 การหมุนรอบแกนหมุนใดๆ<br />

ตัวอย่าง<br />

พิจารณากรณีหมุนจุด P(2, 0, 0) รอบแกน<br />

จงหาจุด P<br />

vˆ<br />

1<br />

iˆ<br />

<br />

2<br />

1<br />

kˆ<br />

2<br />

<br />

ไป 90 ในทิศทวนเข็มนาฬิกา ดังรูป<br />

ขั้นตอนที่ 1 แปลงจุด P(2, 0, 0) ให้เป็น pure quaternion พบว่า<br />

<br />

<br />

p 0 u 0 2ˆ i 0 ˆj<br />

0kˆ<br />

2iˆ<br />

<br />

ดังนั้น จะได้ u 2iˆ<br />

ขั้นตอนที่ 2 พิจารณาแกนหมุน โดยในที่นี้แกนหมุนคือ แกน vˆ<br />

iˆ<br />

kˆ<br />

ขั้นตอนที่ 3 แทนค่า u <br />

, vˆและ 90 จะได้<br />

1<br />

2<br />

1<br />

2


1<br />

1 1<br />

p<br />

q p q (1 cos90 )(( iˆ<br />

kˆ)<br />

(2ˆ)( i<br />

2 2<br />

1 1 1 1 1<br />

( iˆ<br />

kˆ)<br />

2ˆ( i iˆ<br />

kˆ)<br />

( iˆ<br />

<br />

2 2 2 2 2<br />

2 1 1 2<br />

( iˆ<br />

kˆ)<br />

ˆj<br />

2 2 2 2<br />

iˆ<br />

2 ˆj<br />

kˆ<br />

ซึ่งจะได้ P (1, 2, 1)<br />

1<br />

iˆ<br />

1<br />

<br />

<br />

kˆ))<br />

cos90 (2ˆ) i sin90 ((<br />

2 2<br />

1<br />

kˆ)<br />

2ˆ i<br />

2<br />

1<br />

iˆ<br />

<br />

2<br />

1<br />

kˆ)<br />

2ˆ) i<br />

2<br />

3.3 การหมุนรอบแกนที่ขนานกับแกนมาตรฐาน<br />

เป็นการหมุนร่วมกับการแปลงชนิดอื่นๆ เช่น หมุนลูกบาศก์รอบแกนหมุนที่ขนานกับแกน y ดังรูป<br />

วิธีท า<br />

ขั้นตอนที่ 1 เลื่อนลูกบาศก์จนแกนหมุนมาทาบลงบนแกน y (เพราะแกนหมุนขนานกับแกน<br />

y)<br />

ขั้นตอนที่ 2 หมุนลูกบาศก์ 90 องศา ในทิศทวนเข็มนาฬิกา รอบแกน y โดยใช้สูตร<br />

1<br />

p<br />

q pq<br />

<br />

<br />

<br />

(1 cos90 )(ˆ v u)ˆ<br />

v cos90 u sin90 (ˆ v u)<br />

ขั้นตอนที่ 3 เลื่อนลูกบาศก์จนแกนหมุนกลับมาอยู่ต าแหน่งเดิม

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!