Computer graphics : 2 D Rotation

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


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

x1=C×cos(α)
และ 
y1=C×sin(α)

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

หรือ
x2=C×cos(α)cos(θ)-C×sin(α)sin(θ)
y2=C×sin(α)cos(θ)+C×cos(α)sin(θ)

หรือ
x2=x1cos(θ)-y1sin(θ)
y2=x1sin(θ)+y1cos(θ)


อาจเขียนในรูปของ matrix
[x2y2]=[cos(θ)sin(θ)sin(θ)cos(θ)][x1y1]


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

ความคิดเห็น