このシンボリック非線形ベクトル方程式の解を見つけようとしています:
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 つだけ存在するはずです。