Computer graphics : 2 D Rotation

ให้จินตนาการถึงจุดที่หมุนรอบจุดคงที่จุดหนึ่ง (จุดหมุน) เป็นมุม θ 


ถ้ากำหนดให้ (x1, y1)  เป็นจุดๆ หนึ่ง มีขนาด C ทำมุมกับแกน X ด้วยมุม α จะได้ว่า

x 1 = C × cos ( α )
และ 
y 1 = C × sin ( α )

ถ้าจุดนี้ย้ายไปยังตำแหน่ง (x2,y2) โดยทำมุมกับจุดเดิมคือ  θ  แล้วจะได้ว่า
x 2 = C × cos ( α + θ )
y 2 = C × sin ( α + θ )

หรือ
x 2 = C × cos ( α ) cos ( θ ) - C × sin ( α ) sin ( θ )
y 2 = C × sin ( α ) cos ( θ ) + C × cos ( α ) sin ( θ )

หรือ
x 2 = x 1 cos ( θ ) - y 1 sin ( θ )
y 2 = x 1 sin ( θ ) + y 1 cos ( θ )


อาจเขียนในรูปของ matrix
[ x 2 y 2 ] = [ c o s ( θ ) s i n ( θ ) s i n ( θ ) c o s ( θ ) ] [ x 1 y 1 ]


และนี่คือ rotation matrix สำหรับ 2D

ความคิดเห็น