2点を補間した位置への回転操作のための三角凾数
\(原点Oを中心とした等距離R上の点Pの点P_1から点P_2への移動(半径Rの円周上)を考える.\overrightarrow{OP_1}と\overrightarrow{OP_2}のなす角を\thetaとする.\) $$ \begin{eqnarray} \left|\overrightarrow{OP}\right|&=&\left|\overrightarrow{OP_1}\right|=\left|\overrightarrow{OP_2}\right|=R \\\overrightarrow{OP_1}\cdot\overrightarrow{OP_2}&=&\left|\overrightarrow{OP_1}\right|\left|\overrightarrow{OP_2}\right|\cos{\left(\theta\right)} \end{eqnarray} $$ パラメータ\(t\)(ただし\(t\)は\(0\leq t \leq 1\)の実数)を用いて\(\overrightarrow{OP}\)との関係(内積)を求めると以下のようになる $$ \begin{eqnarray} \\\overrightarrow{OP}\cdot\overrightarrow{OP_1}&=&\left|\overrightarrow{OP}\right|\left|\overrightarrow{OP_1}\right|\cos{\left(t\theta\right)} \\&=&R^2\cos{\left(t\theta\right)}\;\cdot\;ただしtは0\leq t \leq 1の実数 \\\overrightarrow{OP}\cdot\overrightarrow{OP_2}&=&\left|\overrightarrow{OP}\right|\left|\overrightarrow{OP_2}\right|\cos{\left(\left(1-t\right)\theta\right)} \\&=&R^2\cos{\left(\left(1-t\right)\theta\right)} \end{eqnarray} $$ \(\overrightarrow{OP}=\alpha \overrightarrow{OP_1}+ \beta \overrightarrow{OP_2}\)で表すと仮定する. $$ \begin{eqnarray} \\\overrightarrow{OP}\cdot\overrightarrow{OP_1} &=&(\alpha \overrightarrow{OP_1}+\beta \overrightarrow{OP_2})\cdot\overrightarrow{OP_1} \\&=&\alpha \overrightarrow{OP_1}\cdot\overrightarrow{OP_1} +\beta \overrightarrow{OP_2}\cdot\overrightarrow{OP_1} \\&=&\alpha \left|\overrightarrow{OP_1}\right|\left|\overrightarrow{OP_1}\right|\cos{\left(0\right)} +\beta \left|\overrightarrow{OP_1}\right|\left|\overrightarrow{OP_2}\right|\cos{\left(\theta\right)} \\&=&\alpha R^2\cdot1+\beta R^2\cos{\left(\theta\right)} \\&=&R^2\left(\alpha +\beta \cos{\left(\theta\right)} \right) \\\overrightarrow{OP}\cdot\overrightarrow{OP_2} &=&(\alpha \overrightarrow{OP_1}+ \beta \overrightarrow{OP_2})\cdot\overrightarrow{OP_2} \\&=&\alpha \overrightarrow{OP_1}\cdot\overrightarrow{OP_2} +\beta \overrightarrow{OP_2}\cdot\overrightarrow{OP_2} \\&=&\alpha \left|\overrightarrow{OP_1}\right|\left|\overrightarrow{OP_2}\right|\cos{\left(\theta\right)} +\beta \left|\overrightarrow{OP_2}\right|\left|\overrightarrow{OP_2}\right|\cos{\left(0\right)} \\&=&\alpha R^2\cos{\left(\theta\right)}+\beta R^2\cdot1 \\&=&R^2\left(\alpha \cos{\left(\theta\right)} +\beta \right) \end{eqnarray} $$ 以上より以下の連立方程式が作れる. $$ \left\{\begin{align} \alpha +\beta \cos{\left(\theta\right)}&=&\cos{\left(t\theta\right)}\\ \alpha \cos{\left(\theta\right)} +\beta&=&\cos{\left(\left(1-t\right)\theta\right)}\\ \end{align}\right.\\ $$ 連立方程式を解く. $$ \begin{eqnarray} \left (\alpha+\beta \cos{\left(\theta\right)}\right)\cos{\left(\theta\right)}&=&\cos{\left(t\theta\right)}\cos{\left(\theta\right)} \;\cdots\;連立方程式上側の式の両辺に\cos{\left(\theta\right)}を掛ける. \\\alpha\cos{\left(\theta\right)}+\beta \cos^2{\left(\theta\right)}&=&\cos{\left(t\theta\right)}\cos{\left(\theta\right)}\\ \left(\alpha\cos{\left(\theta\right)}+\beta \cos^2{\left(\theta\right)}\right) -\left(\alpha \cos{\left(\theta\right)} +\beta\right) &=&\left(\cos{\left(t\theta\right)}\cos{\left(\theta\right)}\right) -\left(\cos{\left(\left(1-t\right)\theta\right)}\right) \;\cdots\;連立方程式上側の式の変形から連立方程式下側の式を引く. \\\beta \cos^2{\left(\theta\right)}-\beta &=&\cos{\left(t\theta\right)}\cos{\left(\theta\right)} -\left(\cos{\left(\theta-t\theta\right)}\right) \\\beta \left(\cos^2{\left(\theta\right)}-1\right) &=&\cos{\left(t\theta\right)}\cos{\left(\theta\right)} -\left( \cos{\left(\theta\right)}\cos{\left(t\theta\right)} +\sin{\left(\theta\right)}\sin{\left(t\theta\right)} \right) \;\cdots\;\cos{\left(\alpha-\beta\right)}=\cos{\left(\alpha\right)}\cos{\left(\beta\right)}+\sin{\left(\alpha\right)}\sin{\left(\beta\right)} \\\beta \left(\cos^2{\left(\theta\right)}-1\right) &=&-\sin{\left(\theta\right)}\sin{\left(t\theta\right)} \\\beta \left(1-\cos^2{\left(\theta\right)}\right) &=&\sin{\left(\theta\right)}\sin{\left(t\theta\right)} \\\beta \sin^2{\left(\theta\right)} &=&\sin{\left(\theta\right)}\sin{\left(t\theta\right)} \\\beta &=&\frac{\sin{\left(\theta\right)}\sin{\left(t\theta\right)}}{\sin^2{\left(\theta\right)}} \\\beta &=&\frac{\sin{\left(t\theta\right)}}{\sin{\left(\theta\right)}} \\\alpha +\left(\frac{\sin{\left(t\theta\right)}}{\sin{\left(\theta\right)}}\right)\cos{\left(\theta\right)}&=&\cos{\left(t\theta\right)} \;\cdots\;連立方程式上側の式に求めた\betaを代入する.\\\alpha&=&\cos{\left(t\theta\right)}-\left(\frac{\sin{\left(t\theta\right)}}{\sin{\left(\theta\right)}}\right)\cos{\left(\theta\right)} \\\alpha&=&\frac{ \sin{\left(\theta\right)} \cos{\left(t\theta\right)} -\cos{\left(\theta\right)} \sin{\left(t\theta\right)} }{ \sin{\left(\theta\right)} } \\\alpha&=&\frac{ \sin{\left(\theta-t\theta\right)} }{ \sin{\left(\theta\right)} } \;\cdots\;\sin{\left(\alpha\right)}\cos{\left(\beta\right)}-\cos{\left(\alpha\right)}\sin{\left(\beta\right)}=\sin{\left(\alpha-\beta\right)} \\&=&\frac{ \sin{\left(\left(1-t\right)\theta\right)} }{ \sin{\left(\theta\right)} } \\\alpha,\;\beta&=&\frac{\sin{\left(\left(1-t\right)\theta\right)}}{\sin{\left(\theta\right)}} ,\;\frac{\sin{\left(t\theta\right)}}{\sin{\left(\theta\right)}} \end{eqnarray} $$ 解より点\(P_1\)から点\(P_2\)への移動の間の点\(P\)を変数\(t\)を用いて以下のように表現できることが示せた. $$ \begin{eqnarray} \overrightarrow{OP}&=&\alpha \overrightarrow{OP_1}+ \beta \overrightarrow{OP_2} \\&=&\frac{\sin{\left(\left(1-t\right)\theta\right)}}{\sin{\left(\theta\right)}}\overrightarrow{OP_1} +\frac{\sin{\left(t\theta\right)}}{\sin{\left(\theta\right)}}\overrightarrow{OP_2} \end{eqnarray} $$ 三次元でも四元数を用いると同様の形の式となることを示した記事が“ 2点を補間した位置への回転操作のための四元数”です.
0 件のコメント:
コメントを投稿