3.5.8 · Physics › Guidance, Navigation & Control (GNC)
80/20 core: Ek 3D vector v ko unit quaternion q se rotate karne ke liye, v ko ek
pure quaternion ki tarah embed karo aur compute karo v′=qvq−1. Bas yahi poora game hai. Baaki sab
samajhna hai ki kyun sandwich kaam karta hai aur kyun half-angle use hota hai.
Hum chahte hain ki output v′=(0,v′)phir bhi ek pure quaternion ho — warna
ye ek 3D vector nahi hoga. Product ka conjugate lo:
(qvq−1)∗=(q−1)∗v∗q∗.
Unit q ke liye: (q−1)∗=q aur q∗=q−1. Aur v∗=−v kyunki v pure hai.
Toh (qvq−1)∗=q(−v)q−1=−(qvq−1).
Jo object −(apne khud ke conjugate) ke barabar ho uska zero scalar part hota hai ⇒ output pure hai. ✓
Ye step kyun? Ye prove karta hai ki sandwich vectors par closed hai. Ek one-sided
product qv generally nonzero scalar deta — jo vector nahi hoga.
Lo q=cos2θ+sin2θn^ jahan unit axis n^ hai.
v=v∥+v⊥ mein split karo (n^ ke parallel/perpendicular).
Parallel part (n^×v∥=0, n^⋅v∥=∣v∥∣):
Algebra work karne par, qv∥q−1=v∥ — axis ke saath wala component
unchanged rehta hai (jaisa ki n^ ke baare mein rotation mein hona chahiye). ✓
Perpendicular part:n^⋅v⊥=0 use karke aur c=cos2θ,s=sin2θ lete hain,
qv⊥q−1=(c2−s2)v⊥+2cs(n^×v⊥).
Ab double-angle identities: c2−s2=cosθ aur 2cs=sinθ. Toh
qv⊥q−1=cosθv⊥+sinθ(n^×v⊥).
Ye exactly Rodrigues' rotation hai v⊥ ka angle θ se n^ ke baare mein. ✓
Half-angle kyun? Kyunki qdo baar appear karta hai (ek baar q ke roop mein, ek baar q−1 ke roop mein),
har ek θ/2 contribute karta hai. Do half-angles double-angle formulas ke through
ek full θ mein combine hote hain. Ye yaad rakhne wali #1 cheez hai.
Parallel + perpendicular combine karne par poora Rodrigues formula milta hai:
v′=vcosθ+(n^×v)sinθ+n^(n^⋅v)(1−cosθ).
Toh qvq−1 disguise mein Rodrigues hi hai — same rotation, sasta storage.
Hamilton product mein dot aur cross products kahan se aate hain?
Dot same-axis terms se (i2=−1); cross, cross-axis terms se (ij=k).
Recall Feynman: ek 12-saal ke bachche ko explain karo
Ek spinning globe imagine karo. Globe par ek dot spin karne ke liye, tumhe ek "spin instruction" chahiye.
Ek quaternion ek compact spin instruction hai: ye ek axis store karta hai jiske baare mein spin karna hai aur
kitna spin karna hai. Trick ye hai ki tum apne dot ko instruction mein "wrap" karte ho, spin karte ho, phir
"unwrap" karte ho — yehi q…q−1 sandwich hai. Aur kyunki tum instruction do baar use karte ho
(wrap aur unwrap), tum uske andar sirf half turn amount store karte ho. Aisa karo, aur dot exactly wahan
pahunch jaata hai jahan us axis ke baare mein poora turn usse rakhta.