Generalization of the concept of parallel lines
平行曲線の2つの定義:1) 合同な円の族の包絡線、2) 一定の法線距離による 与えられた(元となる) 曲線 の平行 曲線とは、その曲線を中心とする 合同な (等半径の) 円 の族の 包絡線 である。これは 平行(直線)線分 の概念を一般化する。また、 与えられた曲線から一定の 法線距離 にある点を持つ曲線としても定義できる。 [1]
これら2つの定義は完全に同じではない。後者は 滑らかさを 前提としているのに対し、前者はそうではないからである。 [2]
円(赤)の平行曲線は同心円である コンピュータ支援設計 において、 平行曲線は オフセット曲線 と呼ばれることが多い。 [2] [3] [4] (他の幾何学的文脈では、 「オフセット」 という用語は 移動 を指すこともあるが、平行曲線は 元の曲線とは 異なる 形状になることがある。 [5] )オフセット曲線は、例えば 数値制御 (NC) 加工 において重要であり、2軸加工機の円形切削工具によって切削された形状を記述する。切削形状は、すべての点において、工具の軌跡に対して垂直な方向に一定距離だけ工具の軌跡からオフセットされる。 [6]
ベクターグラフィックス として知られる2D コンピュータグラフィックス の分野では 、平行曲線の(近似的な)計算は、ストロークと呼ばれる基本的な描画操作の1つに含まれており、この分野では ポリライン や ポリベジェ (パスと呼ばれる)に典型的に適用されます。 [7]
距離のグラフ (赤)の平行曲線 y = 1.5 sin ( x ) {\displaystyle y=1.5\sin(x)} d = 0.25 , … , 1.5 {\displaystyle d=0.25,\dots ,1.5} 直線や円 の場合を除き 、平行曲線は元となる曲線よりも複雑な数学的構造を持ちます。 [1] 例えば、元となる曲線が 滑らか であっても、そのオフセットは滑らかではない場合があります。この特性は、上の図で 正弦曲線を 元となる曲線として用いて示されています。 [2] 一般に、曲線が 有理 曲線であっても、そのオフセットは有理曲線ではない場合があります。例えば、放物線のオフセットは有理曲線ですが、 楕円 や 双曲線 のオフセットは、元となる曲線自体が有理曲線であっても有理曲線ではありません。 [3]
この概念は3D サーフェスにも一般化され、 オフセットサーフェス または 平行サーフェス と呼ばれます 。 [8] ソリッド ボリュームを(一定の)距離オフセットで 増加させることは、 膨張と呼ばれることがあります( 膨張 イメージ操作に似ています )。 [9] 反対の操作は、 シェリング と呼ばれることがあります。 [8] オフセットサーフェスはNCにおいて重要であり、3軸工作機械のボールノーズエンドミルで作られた切削形状を記述します。 [10] その他の形状の切削ビットは、一般的なオフセットサーフェスによって数学的にモデル化できます。 [11]
パラメトリックに与えられた曲線の平行曲線 与えられた曲線の通常のパラメトリック表現が 利用可能な場合、平行曲線の2番目の定義(上記参照)により、距離を持つ平行曲線の次のパラメトリック表現が得られます 。 x → = ( x ( t ) , y ( t ) ) {\displaystyle {\vec {x}}=(x(t),y(t))} | d | {\displaystyle |d|}
x → d ( t ) = x → ( t ) + d n → ( t ) {\displaystyle {\vec {x}}_{d}(t)={\vec {x}}(t)+d{\vec {n}}(t)} 単位は法線です 。 n → ( t ) {\displaystyle {\vec {n}}(t)} デカルト座標では:
x d ( t ) = x ( t ) + d y ′ ( t ) x ′ ( t ) 2 + y ′ ( t ) 2 {\displaystyle x_{d}(t)=x(t)+{\frac {d\;y'(t)}{\sqrt {x'(t)^{2}+y'(t)^{2}}}}} y d ( t ) = y ( t ) − d x ′ ( t ) x ′ ( t ) 2 + y ′ ( t ) 2 . {\displaystyle y_{d}(t)=y(t)-{\frac {d\;x'(t)}{\sqrt {x'(t)^{2}+y'(t)^{2}}}}\ .} 距離パラメータは 負の値を取ることができます。この場合、曲線の反対側に平行曲線が描かれます(円の平行曲線の図を参照)。直線の平行曲線は一般的な意味での平行線であり、円の平行曲線は同心円であることは容易に確認できます。 d {\displaystyle d}
幾何学的特性: [12] x → d ′ ( t ) ∥ x → ′ ( t ) , {\displaystyle {\vec {x}}'_{d}(t)\parallel {\vec {x}}'(t),\quad } つまり、固定パラメータの接線ベクトルは平行です。 k d ( t ) = k ( t ) 1 + d k ( t ) , {\displaystyle k_{d}(t)={\frac {k(t)}{1+dk(t)}},\quad } 与えられた曲線の 曲率 と パラメータ に対する平行曲線の曲率です 。 k ( t ) {\displaystyle k(t)} k d ( t ) {\displaystyle k_{d}(t)} t {\displaystyle t} R d ( t ) = R ( t ) + d , {\displaystyle R_{d}(t)=R(t)+d,\quad } 与えられた曲線の 曲率半径 と パラメータ に対する平行曲線の曲率半径 です 。 R ( t ) {\displaystyle R(t)} R d ( t ) {\displaystyle R_{d}(t)} t {\displaystyle t} 対応する点における平行曲線に 接する円は 同心円である。 [13] 平行線 に関しては 、曲線の法線はその平行線に対しても垂直です。 平行曲線を作図する場合、曲線からの距離が 曲率半径と一致する点に 尖点 が生じます 。これは、曲線が 縮閉線 に接する点です。 元となる曲線が平面集合の境界であり、その平行曲線に自己交差がない場合、後者は平面集合と指定された半径の円板との ミンコフスキー和 の境界です。 与えられた曲線が多項式曲線(つまり、 と が 多項式曲線である)である場合、平行曲線は通常多項式曲線ではない。CAD分野では、CADシステムが多項式曲線または有理曲線を使用するため、これは欠点となる。少なくとも有理曲線を得るためには、平行曲線の表現の 平方根が解ける必要がある。このような曲線は ピタゴラスホドグラフ曲線 と呼ばれ 、RT Faroukiによって研究された。 [14] x ( t ) {\displaystyle x(t)} y ( t ) {\displaystyle y(t)}
暗黙曲線の平行曲線 暗黙曲線(赤)の平行曲線と方程式 x 4 + y 4 − 1 = 0 {\displaystyle x^{4}+y^{4}-1=0} すべての 暗黙曲線が 解析的表現を持つ平行曲線を持つわけではありませんが、特殊な場合には可能です。例えば、 ピタゴラスのホドグラフ曲線 は有理曲線であり、有理平行曲線は暗黙的表現に変換できます。有理平行曲線を持つ暗黙有理曲線の別のクラスとして、 放物線が あります。 直線や円などのより単純なケースでは、平行曲線は簡単に記述できます。例えば、
直線 →距離関数:( ヘッセ正規形) f ( x , y ) = x + y − 1 = 0 {\displaystyle \;f(x,y)=x+y-1=0\;} h ( x , y ) = x + y − 1 2 = d {\displaystyle \;h(x,y)={\frac {x+y-1}{\sqrt {2}}}=d\;} 円 → 距離関数: f ( x , y ) = x 2 + y 2 − 1 = 0 {\displaystyle \;f(x,y)=x^{2}+y^{2}-1=0\;} h ( x , y ) = x 2 + y 2 − 1 = d . {\displaystyle \;h(x,y)={\sqrt {x^{2}+y^{2}}}-1=d\;.} 一般に、特定の条件を仮定すれば、 有向距離関数 の存在を証明できる。実際には、これを数値的に扱う必要がある。 [16] 平行曲線を考えると、以下が成り立つ。 h ( x , y ) {\displaystyle h(x,y)}
距離 d の平行曲線は、 対応する有向距離関数の レベル セット です。 h ( x , y ) = d {\displaystyle h(x,y)=d} h {\displaystyle h}
距離関数の特性: [12] [17] | grad h ( x → ) | = 1 , {\displaystyle |\operatorname {grad} h({\vec {x}})|=1\;,} h ( x → + d grad h ( x → ) ) = h ( x → ) + d , {\displaystyle h({\vec {x}}+d\operatorname {grad} h({\vec {x}}))=h({\vec {x}})+d\;,} grad h ( x → + d grad h ( x → ) ) = grad h ( x → ) . {\displaystyle \operatorname {grad} h({\vec {x}}+d\operatorname {grad} h({\vec {x}}))=\operatorname {grad} h({\vec {x}})\;.} 例: 図は、方程式を持つ暗黙の曲線の平行曲線を示しています。 注: は、 関心領域で成り立たない
ため、 曲線は 平行曲線ではありません。 f ( x , y ) = x 4 + y 4 − 1 = 0 . {\displaystyle \;f(x,y)=x^{4}+y^{4}-1=0\;.} f ( x , y ) = x 4 + y 4 − 1 = d {\displaystyle \;f(x,y)=x^{4}+y^{4}-1=d\;} | grad f ( x , y ) | = 1 {\displaystyle \;|\operatorname {grad} f(x,y)|=1\;}
その他の例 円のインボリュート 与えられた曲線のインボリュート は 、平行曲線の集合です。例えば、円のインボリュートは平行螺旋です(図を参照)。 そして: [18]
放物線 には、6 次 有理曲線 のオフセットが (両側に) あります 。 双曲線 または 楕円 は、8 次代数曲線 の(両側の) オフセットを持ちます 。 n 次 ベジェ 曲線 は、(両側)オフセットがs 本の 4 n − 2次代 数曲線 を持ちます。特に、3次ベジェ曲線は、(両側)オフセットが s 本の 10 次代数曲線を持ちます。
角のある曲線に平行な曲線 コーナーの周りの不連続法線を持つ曲線に平行な曲線 機械加工 において、鋭角部を持つ部品の切削パスを決定する際には 、そのコーナーで法線が不連続となる曲線に平行(オフセット)する曲線を定義する必要があります。与えられた曲線が鋭角部で滑らかでなくても、その平行曲線は滑らかで法線が連続している場合や、 曲線からの距離が鋭角 部
の 曲率半径と一致する場合に 尖端を持つ場合があります。
通常のファン 上で説明したように、距離 を持つ 与えられた曲線 に 平行な曲線 のパラメトリック表現は次の ようになります。 x → d ( t ) {\displaystyle {\vec {x}}_{d}(t)} x → ( t ) {\displaystyle {\vec {x}}(t)} | d | {\displaystyle |d|}
x → d ( t ) = x → ( t ) + d n → ( t ) {\displaystyle {\vec {x}}_{d}(t)={\vec {x}}(t)+d{\vec {n}}(t)} 単位は法線です 。 n → ( t ) {\displaystyle {\vec {n}}(t)} 鋭角( )では、 によって与えられる への法線は 不連続であり、つまり、 左側からの法線の 片側極限 は、右側からの極限と等しくない 。数学的には、 t = t c {\displaystyle t=t_{c}} x → ( t c ) {\displaystyle {\vec {x}}(t_{c})} n → ( t c ) {\displaystyle {\vec {n}}(t_{c})} n → ( t c − ) {\displaystyle {\vec {n}}(t_{c}^{-})} n → ( t c + ) {\displaystyle {\vec {n}}(t_{c}^{+})}
n → ( t c − ) = lim t → t c − n → ( t ) ≠ n → ( t c + ) = lim t → t c + n → ( t ) {\displaystyle {\vec {n}}(t_{c}^{-})=\lim _{t\to t_{c}^{-}}{\vec {n}}(t)\neq {\vec {n}}(t_{c}^{+})=\lim _{t\to t_{c}^{+}}{\vec {n}}(t)} 。 鋭角の周りの平行曲線を定義するための法線ファン しかし、と の間に 補間関数 を与える 通常のファン [11] を定義し、 鋭角の角 の代わりにを使用することができます。 n → f ( α ) {\displaystyle {\vec {n}}_{f}(\alpha )} n → ( t c − ) {\displaystyle {\vec {n}}(t_{c}^{-})} n → ( t c + ) {\displaystyle {\vec {n}}(t_{c}^{+})} n → f ( α ) {\displaystyle {\vec {n}}_{f}(\alpha )} n → ( t c ) {\displaystyle {\vec {n}}(t_{c})}
n → f ( α ) = ( 1 − α ) n → ( t c − ) + α n → ( t c + ) ‖ ( 1 − α ) n → ( t c − ) + α n → ( t c + ) ‖ , {\displaystyle {\vec {n}}_{f}(\alpha )={\frac {(1-\alpha ){\vec {n}}(t_{c}^{-})+\alpha {\vec {n}}(t_{c}^{+})}{\lVert (1-\alpha ){\vec {n}}(t_{c}^{-})+\alpha {\vec {n}}(t_{c}^{+})\rVert }},\quad } どこ 。 0 < α < 1 {\displaystyle 0<\alpha <1} 結果として得られる平行曲線の定義により、 望ましい動作が実現されます。 x → d ( t ) {\displaystyle {\vec {x}}_{d}(t)}
x → d ( t ) = { x → ( t ) + d n → ( t ) , if t < t c or t > t c x → ( t c ) + d n → f ( α ) , if t = t c where 0 < α < 1 {\displaystyle {\vec {x}}_{d}(t)={\begin{cases}{\vec {x}}(t)+d{\vec {n}}(t),&{\text{if }}t<t_{c}{\text{ or }}t>t_{c}\\{\vec {x}}(t_{c})+d{\vec {n}}_{f}(\alpha ),&{\text{if }}t=t_{c}{\text{ where }}0<\alpha <1\end{cases}}}
アルゴリズム 一般に、 ベジェ曲線 の平行曲線は別のベジェ曲線ではないことが、1984年にティラーとハンソンによって証明された結果である。 [19] そのため、実際には近似手法が用いられる。曲線を繰り返し細分化することで、任意の精度レベルを実現できるが、より優れた手法では、同じ精度レベルを達成するために必要な細分化回数が少なくなる。1997年のエルバー、リー、キムによる調査研究 [20]は広く引用されているが、最近ではより優れた手法が提案されている。 曲線フィッティング に基づく最新の手法が 、他のアルゴリズムへの参照や比較、オープンソースのJavaScriptソースコードとともに、2022年9月のブログ記事 [21] で公開された。
オフセットのためのもう一つの効率的なアルゴリズムは、 Kimmel とBruckstein(1993) によって説明されたレベルアプローチである
。 [22]
平行(オフセット)面 複雑な不規則形状のオフセット面 オフセットサーフェスは 数値制御 加工 において重要であり、3軸フライス盤のボールノーズエンドミルによる切削形状を記述します。 [10] 与えられたサーフェスの通常のパラメトリック表現が 利用可能な場合、平行曲線の2番目の定義(上記参照)は、距離を持つ平行サーフェスの次のパラメトリック表現に一般化されます 。 x → ( u , v ) = ( x ( u , v ) , y ( u , v ) , z ( u , v ) ) {\displaystyle {\vec {x}}(u,v)=(x(u,v),y(u,v),z(u,v))} | d | {\displaystyle |d|}
x → d ( u , v ) = x → ( u , v ) + d n → ( u , v ) {\displaystyle {\vec {x}}_{d}(u,v)={\vec {x}}(u,v)+d{\vec {n}}(u,v)} 単位は法線です 。 n → d ( u , v ) = ∂ x → ∂ u × ∂ x → ∂ v | ∂ x → ∂ u × ∂ x → ∂ v | {\displaystyle {\vec {n}}_{d}(u,v)={{{\partial {\vec {x}} \over \partial u}\times {\partial {\vec {x}} \over \partial v}} \over {|{{\partial {\vec {x}} \over \partial u}\times {\partial {\vec {x}} \over \partial v}}|}}} 距離パラメータは 負の値を取る場合もあります。この場合、面の反対側に平行面ができます(円の平行曲線の類似図を参照)。簡単に確認できるのは、平面の平行面は一般的な意味での平行面であり、球の平行面は同心球であるということです。 d {\displaystyle d}
幾何学的特性: [23] ∂ x → d ∂ u ∥ ∂ x → ∂ u , ∂ x → d ∂ v ∥ ∂ x → ∂ v , {\displaystyle {\partial {\vec {x}}_{d} \over \partial u}\parallel {\partial {\vec {x}} \over \partial u},\quad {\partial {\vec {x}}_{d} \over \partial v}\parallel {\partial {\vec {x}} \over \partial v},\quad } つまり、固定パラメータの接線ベクトルは平行です。 n → d ( u , v ) = ± n → ( u , v ) , {\displaystyle {\vec {n}}_{d}(u,v)=\pm {\vec {n}}(u,v),\quad } つまり、固定パラメータの法線ベクトルは方向と一致します。 S d = ( 1 + d S ) − 1 S , {\displaystyle S_{d}=(1+dS)^{-1}S,\quad } ここで 、 と はそれぞれ、 と の 形状演算子 です 。 S d {\displaystyle S_{d}} S {\displaystyle S} x → d {\displaystyle {\vec {x}}_{d}} x → {\displaystyle {\vec {x}}} 主曲率は 形状演算子 の 固有値 、主曲率方向はその 固有ベクトル 、 ガウス曲率 はその 行列式 、平均曲率はその トレース の半分です。 S d − 1 = S − 1 + d I , {\displaystyle S_{d}^{-1}=S^{-1}+dI,\quad } ここで 、およびは、 それぞれ、 およびの 形状演算子 の逆です 。 S d − 1 {\displaystyle S_{d}^{-1}} S − 1 {\displaystyle S^{-1}} x → d {\displaystyle {\vec {x}}_{d}} x → {\displaystyle {\vec {x}}} 主曲率半径は 形状演算子 の逆数の 固有値 、主曲率方向はその 固有ベクトル、 ガウス曲率 の逆数 はその 行列式 、平均曲率半径はその トレース の半分です。 平行曲線の幾何学的特性との類似性に注意してください。
一般化 この問題は、例えばオフセット面などの高次元にかなり明白に一般化され、 パイプ面 にもやや複雑に一般化される。 [24] 高次元版の用語は平面の場合よりもさらに幅広く変化することに注意されたい。例えば、他の著者は平行繊維、リボン、チューブなどについて語っている。 [25] 3次元面に埋め込まれた曲線の場合、オフセットは 測地線 に沿って取られる場合がある 。 [26]
これを一般化する別の方法は(2次元であっても)可変距離、例えば別の曲線でパラメータ化された距離を考慮することである。 [23]例えば METAFONT のように 円の代わりに楕円でストローク(エンベロープ)を描くこともできる 。 [23 ]
与えられた曲線の上下に2つの一般的なオフセット曲線を形成する楕円の包絡線 最近では Adobe Illustratorのバージョン CS5 で似たような機能が追加されました が、可変幅の制御点は視覚的に指定されます。 [28] 定数距離オフセットと可変距離オフセットを区別することが重要な文脈では、CDOとVDOという頭字語が使用されることがあります。 [9]
一般的なオフセット曲線 曲線 の通常のパラメトリック表現があり、 その単位法線 でパラメトリック化できる2つ目の曲線があるとします。 ここで、 の法線は です(この法線によるパラメトリック化は、曲率が厳密に正または負であり、凸型で滑らかで直線ではない曲線に存在します)。 によるオフセット の一般的なオフセット曲線のパラメトリック表現は次の ようになります。 x → ( t ) = ( x ( t ) , y ( t ) ) {\displaystyle {\vec {x}}(t)=(x(t),y(t))} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})} d → ( n → ) = n → {\displaystyle {\vec {d}}({\vec {n}})={\vec {n}}} x → ( t ) {\displaystyle {\vec {x}}(t)} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})}
x → d ( t ) = x → ( t ) + d → ( n → ( t ) ) , {\displaystyle {\vec {x}}_{d}(t)={\vec {x}}(t)+{\vec {d}}({\vec {n}}(t)),\quad } ここで は の単位法線です 。 n → ( t ) {\displaystyle {\vec {n}}(t)} x → ( t ) {\displaystyle {\vec {x}}(t)} 三角オフセット では 、通常の平行 (オフセットとも呼ばれる) 曲線が得られることに注意してください。 d → ( n → ) = d n → {\displaystyle {\vec {d}}({\vec {n}})=d{\vec {n}}}
幾何学的特性: [23] x → d ′ ( t ) ∥ x → ′ ( t ) , {\displaystyle {\vec {x}}'_{d}(t)\parallel {\vec {x}}'(t),\quad } つまり、固定パラメータの接線ベクトルは平行です。 平行線 に関しては 、曲線の法線はその一般的なオフセットに対しても垂直です。 k d ( t ) = k ( t ) 1 + k ( t ) k n ( t ) , {\displaystyle k_{d}(t)={\dfrac {k(t)}{1+{\dfrac {k(t)}{k_{n}(t)}}}},\quad } 一般的なオフセット曲線の曲率、 の 曲 率 、 パラメータ の の曲率 です 。 k d ( t ) {\displaystyle k_{d}(t)} k ( t ) {\displaystyle k(t)} x → ( t ) {\displaystyle {\vec {x}}(t)} k n ( t ) {\displaystyle k_{n}(t)} d → ( n → ( t ) ) {\displaystyle {\vec {d}}({\vec {n}}(t))} t {\displaystyle t} R d ( t ) = R ( t ) + R n ( t ) , {\displaystyle R_{d}(t)=R(t)+R_{n}(t),\quad } 一般的なオフセット曲線の 曲率半径 、 の 曲率半径 、 パラメータ の曲率半径です 。 R d ( t ) {\displaystyle R_{d}(t)} R ( t ) {\displaystyle R(t)} x → ( t ) {\displaystyle {\vec {x}}(t)} R n ( t ) {\displaystyle R_{n}(t)} d → ( n → ( t ) ) {\displaystyle {\vec {d}}({\vec {n}}(t))} t {\displaystyle t} 一般的なオフセット曲線を構築すると、曲線の曲率が オフセットの曲率と一致する点に カスプ(尖点) が生じます。カスプとは、曲線が 縮閉線 に接する点です 。
一般的なオフセットサーフェス 一般的なオフセット面は、数値制御 加工 において3軸エンドミルで使用される様々な切削ビットによって作られる切削形状を記述します 。 [11] 面 の通常のパラメトリック表現があり 、単位法線 でパラメータ化できる2番目の面があるとします。 ここで、 の法線は(この法線によるパラメータ化は、 ガウス曲率が 厳密に正であり、したがって凸型で滑らかで平坦ではない面に対して存在します)。 によって オフセットされ た一般的なオフセット面のパラメトリック表現は次の とおりです。 x → ( u , v ) = ( x ( u , v ) , y ( u , v ) , z ( u , v ) ) {\displaystyle {\vec {x}}(u,v)=(x(u,v),y(u,v),z(u,v))} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})} d → ( n → ) = n → {\displaystyle {\vec {d}}({\vec {n}})={\vec {n}}} x → ( t ) {\displaystyle {\vec {x}}(t)} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})}
x → d ( u , v ) = x → ( u , v ) + d → ( n → ( u , v ) ) , {\displaystyle {\vec {x}}_{d}(u,v)={\vec {x}}(u,v)+{\vec {d}}({\vec {n}}(u,v)),\quad } ここで は の単位法線です 。 n → ( u , v ) {\displaystyle {\vec {n}}(u,v)} x → ( u , v ) {\displaystyle {\vec {x}}(u,v)} 三角オフセット では 、通常の平行 (オフセットとも呼ばれる) サーフェスが生成されることに注意してください。 d → ( n → ) = d n → {\displaystyle {\vec {d}}({\vec {n}})=d{\vec {n}}}
幾何学的特性: [23] 平行線 に関しては 、サーフェスの接線平面はその一般オフセットの接線平面と平行です。 平行線 に関しては 、サーフェスに対する法線はその一般的なオフセットに対しても垂直です。 S d = ( 1 + S S n − 1 ) − 1 S , {\displaystyle S_{d}=(1+SS_{n}^{-1})^{-1}S,\quad } ここで 、 と はそれぞれ、 と の 形状演算子 です 。 S d , S , {\displaystyle S_{d},S,} S n {\displaystyle S_{n}} x → d , x → , {\displaystyle {\vec {x}}_{d},{\vec {x}},} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})} 主曲率は 形状演算子 の 固有値 、主曲率方向はその 固有ベクトル 、 ガウス曲率 はその 行列式 、平均曲率はその トレース の半分です。 S d − 1 = S − 1 + S n − 1 , {\displaystyle S_{d}^{-1}=S^{-1}+S_{n}^{-1},\quad } ここで 、およびは、 それぞれ、 およびの 形状演算子 の逆です 。 S d − 1 , S − 1 {\displaystyle S_{d}^{-1},S^{-1}} S n − 1 {\displaystyle S_{n}^{-1}} x → d , x → , {\displaystyle {\vec {x}}_{d},{\vec {x}},} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})} 主曲率半径は 形状演算子 の逆数の 固有値 、主曲率方向はその 固有ベクトル、 ガウス曲率 の逆数 はその 行列式 、平均曲率半径はその トレース の半分です。 一般的なオフセット曲線の幾何学的特性との類似性に注意してください。
一般的なオフセットの幾何学的特性の導出 一般的なオフセット曲線およびオフセット面について上記に挙げた幾何学的特性は、任意の次元のオフセットに対しても導出できます。n次元面 の正規パラメトリック表現( の次元は n-1)があると仮定します。また、単位法線 でパラメータ化できる2つ目のn次元面( の法線)があると仮定します (この法線によるパラメータ化は、 ガウス曲率 が厳密に正であり、凸型で滑らかで平坦ではない面に対して存在します)。 をオフセットした 一般的なオフセット面のパラメトリック表現は、次の ようになります。 x → ( u → ) {\displaystyle {\vec {x}}({\vec {u}})} u → {\displaystyle {\vec {u}}} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})} d → ( n → ) = n → {\displaystyle {\vec {d}}({\vec {n}})={\vec {n}}} x → ( u → ) {\displaystyle {\vec {x}}({\vec {u}})} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})}
x → d ( u → ) = x → ( u → ) + d → ( n → ( u → ) ) , {\displaystyle {\vec {x}}_{d}({\vec {u}})={\vec {x}}({\vec {u}})+{\vec {d}}({\vec {n}}({\vec {u}})),\quad } ここで 、 は の単位法線です 。(三原色オフセット により 、通常の平行面が得られます。) n → ( u → ) {\displaystyle {\vec {n}}({\vec {u}})} x → ( u → ) {\displaystyle {\vec {x}}({\vec {u}})} d → ( n → ) = d n → {\displaystyle {\vec {d}}({\vec {n}})=d{\vec {n}}} まず、定義により の 法線の法線が であることに注目してください。次に、 について 微分を適用する と、 の接平面を張る接線ベクトルが得られます。 x → ( u → ) = {\displaystyle {\vec {x}}({\vec {u}})=} d → ( n → ( u → ) ) = n → ( u → ) , {\displaystyle {\vec {d}}({\vec {n}}({\vec {u}}))={\vec {n}}({\vec {u}}),} u → {\displaystyle {\vec {u}}} x → d {\displaystyle {\vec {x}}_{d}}
∂ x → d ( u → ) = ∂ x → ( u → ) + ∂ d → ( n → ( u → ) ) {\displaystyle \partial {\vec {x}}_{d}({\vec {u}})=\partial {\vec {x}}({\vec {u}})+\partial {\vec {d}}({\vec {n}}({\vec {u}}))} の接線ベクトルは、 とそのオフセット の 接線ベクトルの和であり 、これらは同じ単位法線を共有していることに注目してください。したがって、一般的なオフセット面は、 および と同じ接平面と法線を共有します 。これはエンベロープの性質と一致しています。 x → d {\displaystyle {\vec {x}}_{d}} x → ( u → ) {\displaystyle {\vec {x}}({\vec {u}})} d → ( n → ) {\displaystyle {\vec {d}}({\vec {n}})} x → ( u → ) {\displaystyle {\vec {x}}({\vec {u}})} d → ( n → ( u → ) ) {\displaystyle {\vec {d}}({\vec {n}}({\vec {u}}))}
ここで、形状演算子 の Weingarten 方程式 について考察します。 これは と書き表すことができます 。 が逆行列であるならば、と なります。曲面の主曲率は形状演算子の 固有値 、主曲率方向は 固有ベクトル 、ガウス曲率は 行列式 、平均曲率は トレース の半分であることを思い出してください。形状演算子の逆行列は、曲率半径についてこれらの同じ値を持ちます。 ∂ n → = − ∂ x → S {\displaystyle \partial {\vec {n}}=-\partial {\vec {x}}S} S {\displaystyle S} ∂ x → = − ∂ n → S − 1 {\displaystyle \partial {\vec {x}}=-\partial {\vec {n}}S^{-1}}
の微分方程式に代入すると 、次のようになります。 x → d {\displaystyle {\vec {x}}_{d}}
∂ x → d = ∂ x → − ∂ n → S n − 1 , {\displaystyle \partial {\vec {x}}_{d}=\partial {\vec {x}}-\partial {\vec {n}}S_{n}^{-1},\quad } ここで、 は の形状演算子です 。 S n {\displaystyle S_{n}} d → ( n → ( u → ) ) {\displaystyle {\vec {d}}({\vec {n}}({\vec {u}}))} 次に、 Weingarten方程式を 再度使用して、 を置き換えます 。 ∂ n → {\displaystyle \partial {\vec {n}}}
∂ x → d = ∂ x → + ∂ x → S S n − 1 , {\displaystyle \partial {\vec {x}}_{d}=\partial {\vec {x}}+\partial {\vec {x}}SS_{n}^{-1},\quad } ここで、 は の形状演算子です 。 S {\displaystyle S} x → ( u → ) {\displaystyle {\vec {x}}({\vec {u}})} 次に、 を解き 、両辺に を掛けて Weingarten 方程式 に戻ります 。今回は です 。 ∂ x → {\displaystyle \partial {\vec {x}}} − S {\displaystyle -S} ∂ x → d {\displaystyle \partial {\vec {x}}_{d}}
∂ x → d ( I + S S n − 1 ) − 1 = ∂ x → , {\displaystyle \partial {\vec {x}}_{d}(I+SS_{n}^{-1})^{-1}=\partial {\vec {x}},} − ∂ x → d ( I + S S n − 1 ) − 1 S = − ∂ x → S = ∂ n → . {\displaystyle -\partial {\vec {x}}_{d}(I+SS_{n}^{-1})^{-1}S=-\partial {\vec {x}}S=\partial {\vec {n}}.} したがって、 となり 、両辺を反転すると となります 。 S d = ( I + S S n − 1 ) − 1 S {\displaystyle S_{d}=(I+SS_{n}^{-1})^{-1}S} S d − 1 = S − 1 + S n − 1 {\displaystyle S_{d}^{-1}=S^{-1}+S_{n}^{-1}}
参照
参考文献 ^ ab ウィルソン、フレデリック・ニュートン (1898). 『理論と実践のグラフィックス』マクミラン社. p. 66. ISBN 978-1-113-74312-1 。 ^ abc Devadoss, Satyan L. ; O'Rourke, Joseph (2011). 離散幾何学と計算幾何学. プリンストン大学出版局. pp. 128– 129. ISBN 978-1-4008-3898-1 。 ^ ab Sendra, J. Rafael; Winkler, Franz; Pérez Díaz, Sonia (2007). 有理代数曲線:コンピュータ代数アプローチ. Springer Science & Business Media. p. 10. ISBN 978-3-540-73724-7 。 ^ Agoston, Max K. (2005). コンピュータグラフィックスと幾何学モデリング:数学. Springer Science & Business Media. p. 586. ISBN 978-1-85233-817-6 。 ^ ヴィンス、ジョン (2006). 『コンピュータグラフィックスのための幾何学:公式、例、証明』 シュプリンガー・サイエンス&ビジネス・メディア. p. 293. ISBN 978-1-84628-116-7 。 ^ マーシュ、ダンカン (2006). 『コンピュータグラフィックスとCADのための応用幾何学(第2版)』 シュプリンガー・サイエンス&ビジネス・メディア. p. 107. ISBN 978-1-84628-109-9 。 ^ Mark Kilgard (2012-04-10). 「CS 354 ベクターグラフィックスとパスレンダリング」 www.slideshare.net . p. 28. ^ ab Agoston, Max K. (2005). コンピュータグラフィックスと幾何学的モデリング. Springer Science & Business Media. pp. 638– 645. ISBN 978-1-85233-818-3 。 ^ http://www.cc.gatech.edu/~jarek/papers/localVolume.pdf、p. 3 ^ ab Faux, ID; Pratt, Michael J. (1979). 設計と製造のための計算幾何学 . Halsted Press. ISBN 978-0-47026-473-7 . OCLC 4859052。 ^ abc Brechner, Eric (1990). 3軸エンドミル加工におけるエンベロープとツールパス (PhD). レンセラー工科大学. ^ ab E. ハートマン: コンピュータ支援設計のための幾何学とアルゴリズム。S. 30。 ^ フィオナ・オニール「平面ベルトラン曲線(写真付き)」。2022年10月11日アーカイブ、 Wayback Machineにて ^ Rida T. Farouki著『 ピタゴラス・ホドグラフ曲線:代数と幾何学の不可分性』(Geometry and Computing) Springer、2008年、 ISBN 978-3-540-73397-3 。 ^ E. ハートマン: コンピュータ支援設計のための幾何学とアルゴリズム。S. 81, S. 30, 41, 44。 ^ ソープ, ジョン・A. (1994年10月27日). 微分幾何学の基礎トピックス . ニューヨーク・ハイデルベルグ: シュプリンガー・サイエンス&ビジネス・メディア. ISBN 0-387-90357-7 。 ^ http://faculty.engineering.ucdavis.edu/farouki/wp-content/uploads/sites/41/2013/02/Introduction-to-PH-curves.pdf 2015年6月5日アーカイブ、 Wayback Machine 、p. 16「オフセット曲線の分類」 ^ Tiller, Wayne; Hanson, Eric (1984). 「2次元プロファイルのオフセット」. IEEE Computer Graphics and Applications . 4 (9): 36– 46. doi :10.1109/mcg.1984.275995. S2CID 9046817. ^ Elber, Gershon; Lee, In-Kwon; Kim, Myung-Soo (1997年5~6月). 「オフセット曲線近似法の比較」. IEEE Computer Graphics and Applications . 17 (3): 62– 71. doi :10.1109/38.586019. ^ Levien, Raph (2022年9月9日). 「3次ベジエ曲線の平行曲線」 . 2022年 9月9日 閲覧 。 ^ Kimmel, R.; Bruckstein, AM (1993). 「レベルセットによる形状オフセット」 (PDF) . コンピュータ支援設計 . 25 (3). Elsevier BV: 154– 162. doi :10.1016/0010-4485(93)90040-u. ISSN 0010-4485. S2CID 8434463. ^ abcde Brechner, Eric L. (1992). 「5. 一般的なオフセット曲線とオフセット面」. Barnhill, Robert E. (編). 設計と製造のためのジオメトリ処理 . SIAM. pp. 101–. ISBN 978-0-89871-280-3 。 ^ ポットマン, ヘルムート; ウォールナー, ヨハネス (2001). 計算線幾何学. シュプリンガー・サイエンス&ビジネス・メディア. pp. 303– 304. ISBN 978-3-540-42058-3 。 ^ Chirikjian, Gregory S. (2009). 確率モデル、情報理論、リー群 第1巻:古典的結果と幾何学的手法 . Springer Science & Business Media. pp. 171– 175. ISBN 978-0-8176-4803-9 。 ^ サルフラズ、ムハンマド編 (2003). 幾何モデリングの進歩. Wiley. p. 72. ISBN 978-0-470-85937-7 。 ^ Kinch, Richard J. (1995). 「MetaFog: METAFONT図形を輪郭線に変換する」 (PDF) . TUGboat . 16 (3): 233– 243. ^ http://design.tutsplus.com/tutorials/illustrator-cs5-variable-width-stroke-tool-perfect-for-making-tribal-designs--vector-4346 Adobe Illustrator CS5 での一般化バージョンの適用(ビデオも) ヨーゼフ・ホシェック「 平面上のオフセット曲線」 CAD . 17 (1985), S. 77–81. 前川隆: オフセット曲線とオフセット曲面の概要. CAD . 31 (1999), S. 165–173.
さらに読む Farouki, RT; Neff, CA (1990). 「平面オフセット曲線の解析的性質」. コンピュータ支援幾何学設計 . 7 ( 1–4 ): 83–99 . doi :10.1016/0167-8396(90)90023-K. Piegl, Les A. (1999). 「NURBS曲線および曲面のオフセット計算」. コンピュータ支援設計 . 31 (2): 147– 156. CiteSeerX 10.1.1.360.2793 . doi :10.1016/S0010-4485(98)00066-9. ポーテウス、イアン・R. (2001). 『幾何微分:曲線と曲面の知性のために』 (第2版). ケンブリッジ大学出版局. pp. 1– 25. ISBN 978-0-521-00264-6 。 パトリカラキス, ニコラス・M.; 前川 隆 (2010) [2002]. コンピュータ支援設計・製造のための形状調査 . シュプリンガー・サイエンス&ビジネス・メディア. 第11章 オフセット曲線とオフセット曲面. ISBN 978-3-642-04074-0 。 無料のオンライン版。 アントン・フランソワ、エミリス・イオアニス・Z、ムラン・ベルナール、 テヨー・モニーク (2005年5月)「代数曲線のO集合と円錐曲線への応用」 国際計算科学とその応用会議 、シンガポール:シュプリンガー出版、pp. 683– 696。 ファロウキ、リダ・T. (2008). ピタゴラス・ホドグラフ曲線:代数と幾何学の不可分性 . シュプリンガー・サイエンス&ビジネス・メディア. pp. 141– 178. ISBN 978-3-540-73397-3 。 リストされているページは、一般的な入門資料です。 Au, CK; Ma, Y.-S. (2013). 「距離関数を用いたオフセット曲線の計算:切削工具パス生成における主要課題への対応」Ma, Y.-S. (編). 製品・プロセスエンジニアリングにおけるセマンティックモデリングと相互運用性:エンジニアリング・インフォマティクスのための技術 . Springer Science & Business Media. pp. 259– 273. ISBN 978-1-4471-5073-2 。
外部リンク MathWorldの平行曲線 平面曲線のビジュアル辞書 Xah Lee