/ / 2つの線分を使用した表面構造 - グラフィック、ジオメトリ

2つの線分 - グラフィック、幾何学を使用する表面構造

2つの線分を境界としてどのように2つの線分を持つサーフェスを構築するには、空間に2つの線分を持っている?

回答:

回答№1は4

これをパラメトリックに行うことができます。

あなたの2つのセグメントを以下で説明します:

{s1(t)} = t {a1} + {b1}   (0 <= t <= 1)

{s2(t)} = t {a2} + {b2}   (0 <= t <= 1)

{}はベクトル量、{a}、{b}定数を示します。

そして、いずれのtについても、空間内に2つの点があり、各点に1点あります。

それらの間の直線は、次のように記述することができます。

{r(v)} = ({s2(t)} - {s1(t)}) v + {s1(t)}  (0 <= v <= 1 )

私たちは、ほぼ、そこにいる。今度は、サーフェスを記述する関数を記述し、s1とs2をその値で置き換えます。

{K(v,t)} = t v ( {a2} - {a1} )+ v ({b2} - {b1})  + t {a1} + {b1}  (0<= t,v <=1)

HTH!

編集

例:

a1 = {1, 1, 1};
b1 = {0, 0, 0};
a2 = {1, 1, 0};
b2 = {0, 0, 0};

Show[ParametricPlot3D[
t v a1 (a2 - a1) + v (b2 - b1) + t a1 + b1, {t, 0, 1}, {v, 0, 1},
AxesLabel -> {"x", "y", "z"}],
Graphics3D[{Thick, Red, Line[{b1, a1 + b1}]}],
Graphics3D[{Thick, Red, Line[{b2, a2 + b2}]}]]

代替テキスト

平坦でない面を示す別の例:

a1 = {1, 1, 1};
b1 = {0, 0, 1};
a2 = {1, 0, 0};
b2 = {0, 1, 0};

代替テキスト


回答№2の場合は1

2つの線分は同一平面上になければならない(つまり、両方とも再構成したい表面上にある)。 2つの線分の積は、サーフェスの法線(サーフェスに垂直なベクトル)を与えます。

この時点でわからないことは、あなたが線分が境界を決定することを意味する。線分の端がクォード境界の4点であり、それを細分化されたパッチに変えたい場合、コーナー点の間を双線形に補間して、パッチメッシュの座標を生成することができます。