2010-11-24 12 views

答えて

4

あなたはこれをパラメトリックに行うことができます。記載

Suposeあなたの二つのセグメント:{}ベクトル量を示し

{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}]}]] 

alt text

別の例として、:

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

alt text

1

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

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

+0

2つの線分が同じ平面になっていない – user496949

+0

それらが同一平面でない場合、それらによって形成される表面は平坦にならない。 – geofftnz

+0

表面が平らである必要はありません – user496949

関連する問題