0

このシンボリック非線形ベクトル方程式の解を見つけようとしています:

P = a*(V0*t+P0) + b*(V1*t+P1) + (1-a-b)*(V2*t+P2) for a, b and t

ここで、P、V0、V1、V2、P0、P1、P2 は既知の 3d ベクトルです。

私はこのようにMatlabでそれをやろうとしました:

P = sym('P', [3,1])
P0 = sym('P0', [3,1])
P1 = sym('P1', [3,1])
P2 = sym('P2', [3,1])
V0 = sym('V0', [3,1])
V1 = sym('V1', [3,1])
V2 = sym('V2', [3,1])
syms a b t
F = a*(V0*t+P0) + b*(V1*t+P1) + (1-a-b)*(V2*t+P2) - P
solve(F,a,b,t)

私は得る

Warning: Explicit solution could not be found.

私はそれを解決する方法のアイデアを使い果たし始めています.これは私が試した最初の数学パッケージではありません.

興味深い点は、この方程式が単純な幾何学的解釈を持っていることです。ポイント P0-P2 が三角形の頂点であり、V0-V2 がほぼ頂点の法線であり、ポイント P が三角形の上にあると想像すると、3 つの光線 (V *t+P)、同じパラメーター t 値を共有します。a、b、(1-ab) が点 P の重心座標になります。

したがって、ケースが退化していない場合、t に対して明確に定義された解は 1 つだけ存在するはずです。

4

1 に答える 1

1

象徴的な方程式として、これには3つの変数があるため、単一の解を得る方法はありません。

たとえばbとtの値を選択するとします。そうすれば、ほとんどすべての場合にaを解くことができるので、さまざまな解が得られます。

幾何学的に考えたい場合は、(P0、P1、P2)三角形に関して、V0とV1が上半空間を指し、V2が下半空間を指していると想像してください。また、V0、V1は三角形の平面に垂直であり、V0とV1は単位ベクトルです。これで、三角形の上の同じ距離で光線P0 + t*V0とP1+t * V1と交差する点Pに平面が固定されている場合、Pに固定されたままになるように平面を移動できます。同じ距離で2つの光線を交差させます。この平面との交点が同じ速度で移動するようにV2を選択しただけで、同じtに対応し、無限に多くの解が得られます。

別の例は、すべてのV0-V2が三角形P0、P1、P2と同一直線上にある場合です。次に、任意のtの解を簡単に取得します。

したがって、これを象徴的に解くには、より多くの方程式が必要です。

于 2011-07-13T15:22:48.883 に答える