この記事では、四元数による回転表現を用いて球面インボリュート曲線の計算式を導出する。

球面インボリュート曲線とは

球面インボリュート曲線

円錐面に貼った紙をピンと張りながら剥がしていった際に、その切れ端が描く曲線のことを球面インボリュート曲線という。

この曲線のどこに球面要素があるのかと思うかもしれないが、この曲線は円錐の頂点を中心とし半径が円錐の母線長と等しい球面に沿うため(OA=OB \mathrm{OA} = \mathrm{OB} であるから当然球面に沿う)、“球面”インボリュート曲線と呼ばれている。

球面インボリュート曲線の導出

変数定義

まず、基礎円錐の円錐角をϕ[rad] \phi \mathrm{[rad]} 、母線長さをR[mm] R \mathrm{[mm]} と定義する。 このとき、円錐底面半径は

r=Rsinϕ r = R \sin \phi

となる。

円錐面に貼った紙をピンと張りながら剥がすと、紙の剥がし始めと円錐との接触線との間の範囲(上図における扇形BOC \mathrm{BOC} )は平面を成す。 これは、円錐面に円錐の母線長と同じ径をもつ仮想的な円盤が接している状態と考えることができ、紙を張った状態で剥がしているのでAC=BC \overset{\frown}{\mathrm{AC}} = \overset{\frown}{\mathrm{BC}} が成り立つ。

つまり、仮想円盤上においてOCに張ったベクトルを、仮想円盤の中心軸を回転中心として円弧長がAC \overset{\frown}{\mathrm{AC}} になる分だけ回転させれば、回転させたベクトルの軌跡が球面インボリュート曲線となる。

このような考えのもと円錐の底面において ADC \angle \mathrm{ADC} θ[rad] \theta [\mathrm{rad}] と定義すると、球面インボリュート曲線はθ \theta を引数としてS(θ) \mathcal{S}(\theta) のように表せる。

上から見た図

ここで、座標系の原点と基礎円錐の頂点は一致しているものとし、各軸の向きは上図の如く定義する。 また、球面インボリュート曲線の始点S(0) \mathcal{S}(0) はx-z平面上にあるものとする。

S(0) \mathcal{S}(0) に一致するベクトルをa \boldsymbol{a} とすると、その要素は

a=[r,0,Rcosϕ] \boldsymbol{a} = [r, 0, -R \cos \phi]

となる。このベクトルを座標系のz軸周りにθ \theta だけ回転させることで、仮想円盤と円錐面の接触線OCに平行なベクトル

c=q~z(θ)  a  q~z1(θ) \boldsymbol{c} = \tilde{q}_z (\theta) \; \boldsymbol{a} \; \tilde{q}_z^{-1} (\theta)

が得られる。ただし、q~z(θ) \tilde{q}_z (\theta) はz軸周りの回転を表す四元数であり次式で表される。

q~z(θ)=sinθ2+[0,0,1]cosθ2 \tilde{q}_z (\theta) = \sin \frac{\theta}{2} + [0, 0, 1] \cos \frac{\theta}{2}

次に、ベクトルc \boldsymbol{c} を回すために仮想円盤の中心軸ベクトルを求める。 座標系のz軸に対する仮想円盤の傾き角をψ[rad] \psi [\mathrm{rad}]とすると、

ψ=π2ϕ \psi = \frac{\pi}{2} - \phi

が成り立つ。これを用いると、θ=0 \theta = 0 において仮想円盤の中心軸ベクトルは

nθ=0=[sinψ,0,cosψ] \boldsymbol{n}_{\theta = 0} = [\sin \psi, 0, \cos \psi]

と表せるので、任意のθ \theta における仮想円盤の中心軸ベクトルn \boldsymbol{n}

n=q~z(θ)  nθ=0  q~z1(θ) \boldsymbol{n} = \tilde{q}_z (\theta) \; \boldsymbol{n}_{\theta = 0} \; \tilde{q}_z^{-1} (\theta)

となる。 あとはAC=BC \overset{\frown}{\mathrm{AC}} = \overset{\frown}{\mathrm{BC}} となるようにベクトルc \boldsymbol{c} を仮想円盤の中心軸周りに回せば良い。

AC=BC \overset{\frown}{\mathrm{AC}} = \overset{\frown}{\mathrm{BC}} となるようにc \boldsymbol{c} を回すには、仮想円盤の回転軸n \boldsymbol{n} まわりの回転角をτ[rad] \tau \mathrm{[rad]} としたときに

rθ=Rτ r \theta = R \tau

が成り立つ必要があるので、

τ=rθR=sinϕθ \tau = \frac{r \theta}{R} = \sin \phi \cdot \theta

だけ回せば良い。

以上より、回転軸n \boldsymbol{n} まわりの回転を表す四元数をq~n \tilde{q}_\mathbf{n} とすると、球面インボリュート曲線は

S(θ)=q~n(τ)  c  q~n1(τ) \mathcal{S}(\theta) = \tilde{q}_\mathbf{n} (-\tau) \; \boldsymbol{c} \; \tilde{q}_\mathbf{n}^{-1} (-\tau)

と表せる。ただし、

q~n(τ)=sinτ2+ncosτ2 \tilde{q}_\mathbf{n} (-\tau) = \sin \frac{-\tau}{2} + \boldsymbol{n} \cos \frac{-\tau}{2}

である。

この式をもう少し展開して整理すると、

S(θ)=q~z(θ)q~nθ=0(τ)  a  q~nθ=01(τ)q~z1(θ)={q~z(θ)q~nθ=0(τ)}  a  {q~z(θ)q~nθ=0(τ)}1 \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軸およびnθ=0 \boldsymbol{n}_{\theta = 0} という固定された回転軸だけで表すことができるようになる。

インボリュート曲線との関係

頂点を無限に持っていった円錐

円錐の頂点を無限遠に持っていき

R=+ R = +\infty

とすると、r=Rsinϕ r = R \sin \phi より

ϕ=limR+sin1(rR)=0 \begin{align*} \phi &= \lim_{R\to +\infty} \sin^{-1} \left( \frac{r}{R} \right) \\ &= 0 \end{align*}

であり、ψ=π2ϕ \psi = \frac{\pi}{2} - \phiの関係より

ψ=π2 \psi = \frac{\pi}{2}

を得る。 この、頂点が無限遠にある円錐を考えた場合、Rr R \gg r であるためにτ \tau は非常に小さな値となり、ベクトルc \boldsymbol{c} を回転させた際にc \boldsymbol{c} の先端が描く軌跡(BC \overset{\frown}{\mathrm{BC}} )は直線であるとみなせる。このときに点Bが描く軌跡は、まさに円筒歯車の場合のインボリュート曲線である。

つまり、円錐の頂点を無限遠に持っていった場合の球面インボリュート曲線は、インボリュート曲線と等しくなる。