Transformation between frames — direction cosine matrices
3.4.2· Physics › Rocket Flight Mechanics
DCM HAI KYA?
Naam bilkul literal hai: har entry ek direction cosine hai — axis aur axis ke beech ke direction angle ka cosine.
IS MATRIX MEIN EXACTLY YEH ENTRIES KYUN HAIN? (Derivation from scratch)
Vector ek frame-independent object hai. Ise dono frames mein likho:
Hame chahiye , yaani ka component ke along. se dot karke project karo:
Yeh step kyun? Kyunki aur jab (orthonormality), toh se dot karna exactly -va -component extract karta hai. Abhi jo unknowns bache hain woh numbers hain — aur yahi precisely hain.
Toh matrix entries hum par projection se forced hain — kuch bhi arbitrary nahi hai. ∎
Key properties (aur har ek kyun hoti hai)
Kyun? ki row aur row , aur ko mein express karte hain. Unka dot product hai. Yahi statement hai . Kyunki inverse sirf transformation ko ulta chalata hai ( se back), , aur orthogonality us inverse ko simply transpose bana deti hai — koi division nahi, koi computation nahi.
kyun? Dono frames right-handed hain; ek right-handed→right-handed map orientation preserve karta hai, toh determinant hai (agar hota toh handedness flip ho jaati, matlab reflection). Composition multiply kyun karta hai? jaane ke liye pehle phir jaao: . Superscripts padho inner-cancel style mein: deta hai .
Elementary (single-axis) rotations — building blocks
Frame ko angle se axis 3 () ke baare mein rotate karo. Tab angle banata hai se, etc. mein plug karo:
\mathbf C_1(\theta)=\begin{pmatrix}1&0&0\\ 0&\cos\theta & \sin\theta\\ 0&-\sin\theta&\cos\theta\end{pmatrix}$$ > [!intuition] Sign convention > Yeh "**components transform**" (passive) matrices hain: *axes* $+\theta$ se rotate hoti hain, toh ek fixed vector ke *numbers* $-\theta$ se rotate hote hain — isliye yahan minus sign diagonal ke neeche baitha hua hai. Vector ko instead rotate karna (active) ise transpose kar deta hai. Ek poora aerospace attitude (yaw $\psi$, pitch $\theta$, roll $\phi$, 3-2-1 sequence) hai: $$\mathbf C^{BA}=\mathbf C_1(\phi)\,\mathbf C_2(\theta)\,\mathbf C_3(\psi)$$ --- ## Worked Example 1 — single yaw rotation Frame $B$ ground frame hai jo $z$ ke baare mein $\psi=30°$ yaw kiya gaya hai. Wind velocity $\mathbf v^A=(10,0,0)$ m/s hai (ground-$x$ ke along point kar raha hai). $\mathbf v^B$ nikalo. $$\mathbf v^B=\mathbf C_3(30°)\begin{pmatrix}10\\0\\0\end{pmatrix}=\begin{pmatrix}\cos30°\cdot10\\ -\sin30°\cdot10\\0\end{pmatrix}=\begin{pmatrix}8.66\\ -5.0\\0\end{pmatrix}\text{ m/s}$$ *$-5$ kyun?* Kyunki humne *axes* ko vector ki taraf $+30°$ rotate kiya; nayi $B$-axes ke relative vector ab $\hat b_2$ mein **negative** lean karta hai. Magnitude check: $\sqrt{8.66^2+5^2}=10$ ✓ — length preserve hoti hai (yeh orthogonality property kaam kar rahi hai). --- ## Worked Example 2 — chaining frames Ek rocket thrust $\mathbf F^{body}=(5000,0,0)$ N body-$x$ ke along hai. Attitude hai yaw $\psi=90°$ phir pitch $\theta=30°$ (toh $\mathbf C^{BI}=\mathbf C_2(\theta)\mathbf C_3(\psi)$). Inertial frame mein thrust nikalo. Hame chahiye $\mathbf F^I=\mathbf C^{IB}\mathbf F^{body}=(\mathbf C^{BI})^\top\mathbf F^{body}$. $$\mathbf C^{BI}=\mathbf C_2(30°)\mathbf C_3(90°)$$ $$\mathbf C_3(90°)=\begin{pmatrix}0&1&0\\-1&0&0\\0&0&1\end{pmatrix},\quad \mathbf C_2(30°)=\begin{pmatrix}0.866&0&-0.5\\0&1&0\\0.5&0&0.866\end{pmatrix}$$ $$\mathbf C^{BI}=\begin{pmatrix}0&0.866&-0.5\\-1&0&0\\0&0.5&0.866\end{pmatrix}$$ *Inertial ke liye transpose kyun?* Kyunki $\mathbf C^{BI}$ inertial→body map karta hai; hamare paas ek body vector hai aur hum inertial chahte hain, toh hum invert karte hain = transpose karte hain. $$\mathbf F^I=(\mathbf C^{BI})^\top\!\begin{pmatrix}5000\\0\\0\end{pmatrix} =\begin{pmatrix}0&-1&0\\0.866&0&0.5\\-0.5&0&0.866\end{pmatrix}\!\begin{pmatrix}5000\\0\\0\end{pmatrix} =\begin{pmatrix}0\\4330\\-2500\end{pmatrix}\text{ N}$$ Magnitude $=\sqrt{4330^2+2500^2}=5000$ N ✓. --- ## Common mistakes > [!mistake] $\mathbf C^{BA}$ aur $\mathbf C^{AB}$ ko confuse karna > **Kyun sahi lagta hai:** tumne ek rotation matrix likha, toh surely yeh "the" rotation hai. **Trap:** direction matter karta hai. Agar tumhara data $A$ mein hai aur tum galti se $\mathbf C^{AB}$ apply kar do, toh tum *galat taraf* rotate kar rahe ho. **Fix:** superscripts ko *output←input* ki tarah padho. $\mathbf C^{BA}$ ek $A$-vector khata hai aur ek $B$-vector output karta hai — inner index tumhare data ke frame se match karna chahiye. Agar nahi, toh transpose karo. > [!mistake] Rotation matrices ko galat order mein multiply karna > **Kyun sahi lagta hai:** matrix multiply kaagaz par symmetric lagta hai. **Trap:** rotations **commute nahi** karte; $\mathbf C_2\mathbf C_3\neq\mathbf C_3\mathbf C_2$. **Fix:** sequence ko usi order mein apply karo jis order mein axes actually rotate hote hain, *pehla* rotation *right* par (woh vector ko pehle hit karta hai): 3-2-1 ke liye $\mathbf C_1(\phi)\mathbf C_2(\theta)\mathbf C_3(\psi)$. > [!mistake] $\mathbf C_2$ ke liye opposite off-diagonal par minus sign bhool jaana > **Kyun sahi lagta hai:** $\mathbf C_1,\mathbf C_3$ mein $-\sin$ "lower" slot mein hota hai, toh tum assume karte ho $\mathbf C_2$ mein bhi aisa hi hai. **Trap:** kyunki axis 2 rotation mein $3\to1$ cyclic order involve hota hai, $\mathbf C_2$ ka $-\sin$ **upper** off-diagonal mein baitha hai. **Fix:** pattern yaad karne ki jagah $C_{ij}=\hat b_i\cdot\hat a_j$ se derive karo. --- ## Active recall > [!recall]- Reveal karne se pehle try karo > - Kaunsa single dot product entry $C^{BA}_{ij}$ deta hai? > - $\mathbf C^{-1}=\mathbf C^\top$ kyun hai? > - $\det\mathbf C=+1$ kyun hota hai aur kabhi $-1$ nahi? > - 3-2-1 sequence mein, kaunsa matrix vector ko pehle multiply karta hai? > > Answers: $\hat b_i\cdot\hat a_j$ · rows orthonormal hain toh $\mathbf C\mathbf C^\top=\mathbf I$ · right→right orientation preserve karta hai · $\mathbf C_3(\psi)$ (rightmost). > [!recall]- Feynman: ek 12-saal ke bachche ko explain karo > Socho tum aur tumhara dost describe kar rahe ho ki ek toy car kahan hai. Tum north ki taraf face karke "left/right/forward" use karte ho; tumhara dost east ki taraf face karta hai, toh tumhara "forward" unka "right" hai. Car hili nahi hai — sirf tumhare labels alag hain. DCM ek chhota sa **translation table** hai jo batata hai ki tumhare dost ki directions tumhare comparison mein kitni twisted hain (yeh twist angle ka cosine hai). Apne numbers ko is table se multiply karo aur *unke* numbers nikal aate hain. Wapas twist karna hai? Bas table ko palat do (transpose). Kyunki kuch bhi stretch nahi hua, tumse car ki distance dono descriptions mein same rehti hai. > [!mnemonic] > **"C-B-A: output upar, input neeche; inner indices kiss karte hain, outer indices survive karte hain."** > $\mathbf C^{CB}\mathbf C^{BA}=\mathbf C^{CA}$ — dono $B$ beech mein milte hain aur gayab ho jaate hain, bilkul frames chaining ki tarah. Aur **"Inverse = matrix ko palat do" (transpose)**. --- ## Flashcards #flashcards/physics Direction cosine matrix ki entry $C^{BA}_{ij}$ kya hoti hai? ::: Axes $\hat b_i$ aur $\hat a_j$ ke beech angle ka cosine, yaani $\hat b_i\cdot\hat a_j$. DCM ko saste mein invert kaise karte hain? ::: Uska transpose lo, kyunki $\mathbf C^{-1}=\mathbf C^\top$ (orthogonal matrix). DCM orthogonal kyun hoti hai? ::: Iski rows target-frame basis vectors hain, jo mutually orthonormal hain, toh $\mathbf C\mathbf C^\top=\mathbf I$. Do right-handed frames ke liye $\det(\mathbf C^{BA})$ kya hota hai aur kyun? ::: $+1$; ek right-handed→right-handed map orientation preserve karta hai (koi reflection nahi). DCMs $A$ se $C$ tak $B$ ke zariye kaise compose hoti hain? ::: $\mathbf C^{CA}=\mathbf C^{CB}\,\mathbf C^{BA}$ (inner $B$ indices cancel ho jaate hain). 3-2-1 (yaw-pitch-roll) attitude ke liye $\mathbf C^{BA}$ likho. ::: $\mathbf C_1(\phi)\,\mathbf C_2(\theta)\,\mathbf C_3(\psi)$. Axes ko $+\theta$ se rotate karne par $\mathbf C_3$ mein minus sign diagonal ke neeche kyun aata hai? ::: Components passively transform hote hain (axis rotation ke opposite), toh vector ke numbers $-\theta$ se rotate hote hain. Agar tumhara vector frame $A$ mein hai lekin tum use $B$ mein chahte ho, toh kaunsa matrix apply hoga? ::: $\mathbf C^{BA}$ — inner (right) superscript vector ke current frame se match karna chahiye. Rotations combine karte waqt matrix order matter karta hai? ::: Haan; rotations commute nahi karte. Pehle apply hone wala rotation sabse rightmost jaata hai. DCM transformation ke under kaunsi quantity hamesha preserve hoti hai? ::: Vector ka magnitude (length), kyunki map orthogonal hai. --- ## Connections - [[Reference frames in rocketry — inertial, body, wind]] - [[Euler angles — yaw pitch roll]] - [[Quaternions and attitude representation]] - [[Angular velocity and the kinematic equations]] - [[Thrust vectoring and force resolution]] - [[Orthogonal matrices and rotation groups SO(3)]] ## 🖼️ Concept Map ```mermaid flowchart TD V[Physical vector arrow] -->|same arrow different components| F[Depends on frame axes] FR[Multiple frames: inertial, body, wind] --> F F -->|re-expressed by| DCM[Direction Cosine Matrix C_BA] DCM -->|entries are| DC[Direction cosines b_i dot a_j] DCM -->|maps components| MAP[v_B equals C_BA times v_A] PROJ[Projection onto b_i] -->|forces entries via| DC ORTH[Orthonormality of axes] -->|extracts i-th component| PROJ ORTH -->|gives| ORTHO[Orthogonality C C_T equals I] ORTHO -->|inverse equals transpose| INV[C_AB equals C_BA transpose] RH[Right-handed frames] -->|orientation preserved| DET[det equals plus 1 proper rotation] DCM -->|chain rotations| COMP[C_CA equals C_CB times C_BA] ```