この記事では、四元数による回転表現を用いて球面インボリュート曲線の計算式を導出する。
球面インボリュート曲線とは
円錐面に貼った紙をピンと張りながら剥がしていった際に、その切れ端が描く曲線のことを球面インボリュート曲線という。
この曲線のどこに球面要素があるのかと思うかもしれないが、この曲線は円錐の頂点を中心とし半径が円錐の母線長と等しい球面に沿うため($( \mathrm{OA} = \mathrm{OB} $)であるから当然球面に沿う)、“球面”インボリュート曲線と呼ばれている。
球面インボリュート曲線の導出
まず、基礎円錐の円錐角を$( \phi \mathrm{[rad]} $)、母線長さを$( R \mathrm{[mm]} $)と定義する。 このとき、円錐底面半径は
$[ r = R \sin \phi $]
となる。
円錐面に貼った紙をピンと張りながら剥がすと、紙の剥がし始めと円錐との接触線との間の範囲(上図における扇形$( \mathrm{BOC} $))は平面を成す。 これは、円錐面に円錐の母線長と同じ径をもつ仮想的な円盤が接している状態と考えることができ、紙を張った状態で剥がしているので$( \overset{\frown}{\mathrm{AC}} = \overset{\frown}{\mathrm{BC}} $)が成り立つ。
つまり、仮想円盤上においてOCに張ったベクトルを、仮想円盤の中心軸を回転中心として円弧長が$( \overset{\frown}{\mathrm{AC}} $)になる分だけ回転させれば、回転させたベクトルの軌跡が球面インボリュート曲線となる。
このような考えのもと円錐の底面において $( \angle \mathrm{ADC} $)を$( \theta [\mathrm{rad}] $)と定義すると、球面インボリュート曲線は$( \theta $)を引数として$( \mathcal{S}(\theta) $)のように表せる。
ここで、座標系の原点と基礎円錐の頂点は一致しているものとし、各軸の向きは上図の如く定義する。 また、球面インボリュート曲線の始点$( \mathcal{S}(0) $)はx-z平面上にあるものとする。
$( \mathcal{S}(0) $)に一致するベクトルを$( \boldsymbol{a} $)とすると、その要素は
$[ \boldsymbol{a} = [r, 0, -R \cos \phi] $]
となる。このベクトルを座標系のz軸周りに$( \theta $)だけ回転させることで、仮想円盤と円錐面の接触線OCに平行なベクトル
$[ \boldsymbol{c} = \tilde{q}_z (\theta) \; \boldsymbol{a} \; \tilde{q}_z^{-1} (\theta) $]が得られる。ただし、$( \tilde{q}_z (\theta) $)はz軸周りの回転を表す四元数であり次式で表される。
$[ \tilde{q}_z (\theta) = \sin \frac{\theta}{2} + [0, 0, 1] \cos \frac{\theta}{2} $]次に、ベクトル$( \boldsymbol{c} $)を回すために仮想円盤の中心軸ベクトルを求める。 座標系のz軸に対する仮想円盤の傾き角を$( \psi [\mathrm{rad}]$)とすると、
$[ \psi = \frac{\pi}{2} - \phi $]
が成り立つ。これを用いると、$( \theta = 0 $)において仮想円盤の中心軸ベクトルは
$[ \boldsymbol{n}_{\theta = 0} = [\sin \psi, 0, \cos \psi] $]と表せるので、任意の$( \theta $)における仮想円盤の中心軸ベクトル$( \boldsymbol{n} $)は
$[ \boldsymbol{n} = \tilde{q}_z (\theta) \; \boldsymbol{n}_{\theta = 0} \; \tilde{q}_z^{-1} (\theta) $]となる。 あとは$( \overset{\frown}{\mathrm{AC}} = \overset{\frown}{\mathrm{BC}} $)となるようにベクトル$( \boldsymbol{c} $)を仮想円盤の中心軸周りに回せば良い。
$( \overset{\frown}{\mathrm{AC}} = \overset{\frown}{\mathrm{BC}} $)となるように$( \boldsymbol{c} $)を回すには、仮想円盤の回転軸$( \boldsymbol{n} $)まわりの回転角を$( \tau \mathrm{[rad]} $)としたときに
$[ r \theta = R \tau $]
が成り立つ必要があるので、
$[ \tau = \frac{r \theta}{R} = \sin \phi \cdot \theta $]
だけ回せば良い。
以上より、回転軸$( \boldsymbol{n} $)まわりの回転を表す四元数を$( \tilde{q}_\mathbf{n} $)とすると、球面インボリュート曲線は
$[ \mathcal{S}(\theta) = \tilde{q}_\mathbf{n} (-\tau) \; \boldsymbol{c} \; \tilde{q}_\mathbf{n}^{-1} (-\tau) $]と表せる。ただし、
$[ \tilde{q}_\mathbf{n} (-\tau) = \sin \frac{-\tau}{2} + \boldsymbol{n} \cos \frac{-\tau}{2} $]である。
この式をもう少し展開して整理すると、
$[ \begin{align*} \mathcal{S}(\theta) &= \tilde{q}_z (\theta) \tilde{q}_{\mathbf{n}_{\theta = 0}} (-\tau) \; \boldsymbol{a} \; \tilde{q}_{\mathbf{n}_{\theta = 0}}^{-1} (- \tau) \tilde{q}_z^{-1} (-\theta) \\ &= \{ \tilde{q}_z (\theta) \tilde{q}_{\mathbf{n}_{\theta = 0}} (-\tau) \} \; \boldsymbol{a} \; \{ \tilde{q}_z (\theta) \tilde{q}_{\mathbf{n}_{\theta = 0}} (-\tau) \}^{-1} \end{align*} $]となり、座標系のz軸および$( \boldsymbol{n}_{\theta = 0} $)という固定された回転軸だけで表すことができるようになる。
インボリュート曲線との関係
円錐の頂点を無限遠に持っていき
$[ R = +\infty $]
とすると、$( r = R \sin \phi $)より
$[ \begin{align*} \phi &= \lim_{R\to +\infty} \sin^{-1} \left( \frac{r}{R} \right) \\ &= 0 \end{align*} $]であり、$( \psi = \frac{\pi}{2} - \phi$)の関係より
$[ \psi = \frac{\pi}{2} $]
を得る。 この、頂点が無限遠にある円錐を考えた場合、$( R \gg r $)であるために$( \tau $)は非常に小さな値となり、ベクトル$( \boldsymbol{c} $)を回転させた際に$( \boldsymbol{c} $)の先端が描く軌跡($( \overset{\frown}{\mathrm{BC}} $))は直線であるとみなせる。このときに点Bが描く軌跡は、まさに円筒歯車の場合のインボリュート曲線である。
つまり、円錐の頂点を無限遠に持っていった場合の球面インボリュート曲線は、インボリュート曲線と等しくなる。