平行線の概念の一般化
距離 のグラフの平行曲線
ええ
=
1.5
罪
(
x
)
{\displaystyle y=1.5\sin(x)}
d
=
0.25
、
…
、
1.5
{\displaystyle d=0.25,\dots ,1.5}
平行曲線の2つの定義: 1) 合同な円の族の包絡線、2) 固定された法線距離による
円の平行曲線(赤)も円です
曲線 の 平行 線は 、曲線を中心とする 合同な 円 の族の 包絡線 です。これは、 平行線(直線) の概念を一般化したものです。また、与えられた曲線から一定の 法線距離 にある点を持つ曲線として定義することもできます。 [1]
これら 2 つの定義は、後者は 滑らかさを 前提としているのに対し、前者はそうではないため、完全に同等というわけではありません。 [2]
コンピュータ支援設計 では 、平行曲線は オフセット曲線 と呼ばれることが多い。 [2] [3] [4] (他の幾何学的文脈では、 オフセットという用語は 移動 を指すこともある 。 [5] )オフセット曲線は、例えば 数値制御 加工 において重要であり、2軸機械の円形切削工具による切削形状などを表す。切削形状は、あらゆる点で工具の軌跡に垂直な方向に一定距離だけ工具の軌跡からオフセットされる。 [6]
ベクターグラフィックス として知られる2D コンピュータグラフィックス の分野では 、平行曲線の(近似的な)計算は、ストロークと呼ばれる基本的な描画操作の1つに含まれており、この分野では ポリライン や ポリベジェ (パスと呼ばれる)に典型的に適用されます。 [7]
直線や円 の場合を除き 、平行曲線は親曲線よりも複雑な数学的構造を持ちます。 [1] たとえば、親曲線が 滑らかであっても、そのオフセットは滑らかではない場合があります。この特性は、 正弦曲線を 親曲線として 使用した上の図に示されています。 [2]一般に、曲線が 有理 曲線であっても 、そのオフセットは有理曲線ではない場合があります。たとえば、放物線のオフセットは有理曲線ですが、楕円 や 双曲線の オフセット は、これらの親曲線自体は有理曲線であっても有理曲線ではありません。 [3]
この概念は 3Dサーフェス にも一般化され、 オフセット サーフェス または 平行サーフェス と呼ばれます 。 [8] ソリッド ボリュームを (一定の) 距離オフセットで 増やすことは、 膨張 と呼ばれることがあります。 [9] その逆の操作は、 シェリング と呼ばれることがあります。 [8]オフセット サーフェスは 数値制御 加工 において重要であり 、3 軸工作機械のボール ノーズ エンド ミルによる切削の形状を表します。 [10] 切削ビットの他の形状は、一般的なオフセット サーフェスによって数学的にモデル化できます。 [11]
パラメトリックに与えられた曲線の平行曲線
与えられた曲線の通常のパラメトリック表現が 利用可能な場合、平行曲線の2番目の定義(上記を参照)により、距離を持つ平行曲線の次のパラメトリック表現が得られます 。
x
→
=
(
x
(
t
)
、
ええ
(
t
)
)
{\displaystyle {\vec {x}}=(x(t),y(t))}
|
d
|
{\displaystyle |d|}
x
→
d
(
t
)
=
x
→
(
t
)
+
d
ん
→
(
t
)
{\displaystyle {\vec {x}}_{d}(t)={\vec {x}}(t)+d{\vec {n}}(t)}
単位は normal です 。
ん
→
(
t
)
{\displaystyle {\vec {n}}(t)}
デカルト座標では:
x
d
(
t
)
=
x
(
t
)
+
d
ええ
′
(
t
)
x
′
(
t
)
2
+
ええ
′
(
t
)
2
{\displaystyle x_{d}(t)=x(t)+{\frac {d\;y'(t)}{\sqrt {x'(t)^{2}+y'(t)^{2}}}}}
ええ
d
(
t
)
=
ええ
(
t
)
−
d
x
′
(
t
)
x
′
(
t
)
2
+
ええ
′
(
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 }
つまり、固定パラメータの接線ベクトルは平行です。
け
d
(
t
)
=
け
(
t
)
1
+
d
け
(
t
)
、
{\displaystyle k_{d}(t)={\frac {k(t)}{1+dk(t)}},\quad }
与えられた曲線の曲率と パラメータ に対する 平行曲線の曲率 です 。
け
(
t
)
{\displaystyle k(t)}
け
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)}
ええ
(
t
)
{\displaystyle y(t)}
暗黙曲線の平行曲線
暗黙の曲線(赤)の平行曲線と方程式
x
4
+
ええ
4
−
1
=
0
{\displaystyle x^{4}+y^{4}-1=0}
一般に、暗黙曲線 の平行曲線の解析的表現は 不可能です。直線と円の単純なケースでのみ、平行曲線を簡単に記述できます。例:
直線 →距離関数:( ヘッセ正規形)
ふ
(
x
、
ええ
)
=
x
+
ええ
−
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\;.}
一般的に、特定の条件を仮定すると、 有向距離関数 の存在を証明することができます。実際には、数値的に処理する必要があります。 [15] 平行曲線を考えると、次のことが当てはまります。
h
(
x
,
y
)
{\displaystyle h(x,y)}
距離 d の平行曲線は、 対応する有向距離関数の レベル セット です。
h
(
x
,
y
)
=
d
{\displaystyle h(x,y)=d}
h
{\displaystyle h}
距離関数のプロパティ: [12] [16]
|
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\;}
その他の例
円のインボリュート
与えられた曲線のインボリュート は 、平行な曲線の集合です。たとえば、円のインボリュートは平行な螺旋です (図を参照)。
そして: [17]
放物線 には、 6 次 有理曲線 のオフセットが (両側に) あります 。
双曲線 または 楕円は 、 (両側の)オフセットとして、次数 8 の 代数曲線 を持ちます。
n次 ベジェ曲線 に は、 次 4 n − 2 の(両側) オフセット代数 曲線 が 個あります。特に、3 次ベジェ曲線には、 次 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)}
単位は normal です 。
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年にティラーとハンソンによって証明された結果である。 [18] そのため、実際には近似手法が使用される。曲線を繰り返し細分化することで、任意の精度レベルを実現できるが、より優れた手法では、同じレベルの精度を達成するために必要な細分化が少なくなる。エルバー、リー、キムによる1997年の調査 [19]は広く引用されているが、最近ではより優れた手法が提案されている。 曲線フィッティング に基づく最新の手法は 、他のアルゴリズムへの参照や比較、オープンソースのJavaScriptソースコードとともに、 2022年9月の
ブログ投稿 [20]で公開された。
オフセットのためのもう一つの効率的なアルゴリズムは、 Kimmel とBruckstein(1993) によって説明されたレベルアプローチである
。 [21]
平行(オフセット)面
複雑な不規則形状のオフセット面
オフセット面は数値制御 加工 において重要であり 、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)}
単位は normal です 。
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}
幾何学的特性: [22]
∂
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}}}
主曲率半径は 形状演算子 の逆の 固有値 であり、主曲率方向はその 固有ベクトルであり、 ガウス曲率 の逆数は その 行列式 であり、平均曲率半径はその トレース の半分です。
平行曲線の幾何学的特性との類似性に注意してください。
一般化
この問題は、比較的高次元、例えばオフセット面にも一般化できますが、 パイプ面 にも多少は一般化できます。 [23] 高次元版の用語は平面の場合よりもさらに幅広く変化することに注意が必要です。例えば、他の著者は平行繊維、リボン、チューブについて語っています。 [24] 3D 面に埋め込まれた曲線の場合、オフセットは 測地線 に沿って取られることがあります 。 [25]
これを一般化する別の方法は、(2Dでも)可変距離、例えば別の曲線でパラメータ化された距離を考慮することです。 [ 22 ]例えば METAFONT で可能であるように、 例えば円の代わりに楕円でストローク(エンベロープ)を描くことができます 。 [22]
与えられた曲線の上下に2つの一般的なオフセット曲線を形成する楕円の包絡線
最近では Adobe Illustratorのバージョン CS5 で似たような機能が追加されました が、可変幅の制御点は視覚的に指定されています。 [27] 一定距離オフセットと可変距離オフセットを区別することが重要な文脈では、頭字語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}}}
幾何学的特性: [22]
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}}}
幾何学的特性: [22]
平行線 に関しては 、サーフェスの接線平面はその一般的なオフセットの接線平面に平行です。
平行線 に関しては 、面に対する法線はその一般的なオフセットに対しても垂直です。
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。
^ Fiona O'Neill: 平面ベルトラン曲線 (写真付き!)。
^ 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-06-05に 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 コンピュータグラフィックスおよびアプリケーション 17 ( 3): 62–71. doi :10.1109/38.586019。
^ Levien, Raph (2022年9月9日). 「3次ベジエ曲線の平行曲線」 。 2022年 9月9日 閲覧。
^ Kimmel, R.; Bruckstein, AM (1993). 「レベルセットによる形状オフセット」 (PDF) . Computer-Aided Design . 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)。幾何学モデリングの進歩。ワイリー。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 での一般化バージョンの適用 (ビデオも)
Josef Hoschek: 平面上のオフセット曲線 。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 曲線とサーフェスのオフセットの計算」. Computer-Aided Design . 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 。
Patrikalakis, Nicholas M.; Maekawa, Takashi (2010) [2002]. コンピュータ支援設計および製造のための形状調査 . Springer Science & Business Media. 第 11 章. オフセット曲線とオフセット曲面. ISBN 978-3-642-04074-0 。 無料のオンライン版。
Anton, François、Emiris, Ioannis Z.、Mourrain, Bernard、 Teillaud, Monique (2005 年 5 月)。「代数曲線の O 集合と円錐曲線への応用」。 計算科学とその応用に関する国際会議 。シンガポール: Springer Verlag。pp. 683–696。
Farouki, Rida T. (2008)。 ピタゴラス-ホドグラフ曲線: 切り離せない代数と幾何学 。Springer Science & Business Media。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
http://library.imageworks.com/pdfs/imageworks-library-offset-curve-deformation-from-Skeletal-Anima.pdf アニメーションへの応用。 米国特許 8,400,455として特許取得済み。
http://www2.uah.es/fsegundo/Otros/Offset/16-SanSegundoSendraSendra-1532.pdf