コンピュータ支援の幾何学的設計(CAGD)の基礎として、曲線・曲面の微分幾何学は形状処 理分野でよく使われています。
パラメータにより表現された曲線・曲面をパラメータで微分することで、接線・法線・曲率などの 情報が得られます。
アルモニコス のアプリケーションは、上記情報を算出し、内部の計算で多用しています。
今回は、曲線または曲面の曲がりの程度を表す量である曲率について紹介します。
曲線の曲率
微分幾何学では、曲線長(弧長)$s$ をパラメータとして、曲線 $\boldsymbol{r}$ を表すことができます。
\boldsymbol{r}=r(s)
2階微分可能な曲線の点 $P$ での近似円は曲率円といいます。
曲率円の半径 $\rho$ は曲率半径といいます。
曲率半径の逆数は曲率です。
曲線を弧長で2階微分すると、
\boldsymbol{k}=\frac{d^2\boldsymbol{r}}{ds^2}=\frac{\boldsymbol{n}}{\rho}=\kappa\boldsymbol{n}
が得られます。ここで $\boldsymbol{k}$ は曲率ベクトル、nは主法線方向の単位ベクトル、$ρ$ は曲率半径、$κ$ は曲率です。
spScan で表示した曲線の曲率:
曲面の曲率
出典:Nicholas M. Patrikalakis.; Takashi Maekawa. Shape Interrogation for Computer Aided Design and Manufacturing (Springer-Verlag, 2010), 424p. p.56 : 図3,6
曲面上の点 $P$ を通る曲面に乗る曲線の、点 $P$ での曲率ベクトルは以下で表せます。
\boldsymbol{k}=\kappa\boldsymbol{n}=
\boldsymbol{k}_n+\boldsymbol{k}_{g}
ここで $\boldsymbol{k_n}$ は法曲率ベクトルであり、 $\boldsymbol{k_g}$ は測地線曲率ベクトルです。
$\boldsymbol{k}_n$ は $\boldsymbol{k}$ の曲面法線方向への投影です。
\boldsymbol{k}_n=\kappa_n\boldsymbol{N}
ここで $\kappa_n$ は曲面の法曲率です。
法曲率の最大値 $\kappa_{max}$、最小値 $\kappa_{min}$ は主曲率といいます。また、
K=\kappa_{max}\kappa_{min}
H=\frac{\kappa_{max} + \kappa_{min}}{2}
を、それぞれガウス曲率、平均曲率といいます。
各曲率を利用し、形状の区分や特定形状の認識が可能になります。
例えば spScan では曲率によってメッシュをグループ分けし、そのグループごとに曲面を作成できます。
spGauge・spScan では、主曲率を利用し、プリミティブ形状のメッシュを一括選択することができます。
spGauge の打点検査機能では、ガウス曲率を利用し、メッシュ上の打点形状を抽出しています。
参考文献
本記事のPDF版