2017-08-28 34 views
-2

從三維直線方程在三個維度上一行:如何創建一個方程給出三點

f(x,y,z) = A*x + B*y + C*z + D = 0 

正常是

grad f = [A,B,C] 

的正常通點(X0, (x-x 0)+ B *(y-y 0)+ C *(z-z 0)= 0,其中y 0,z 0)是 [A-1] [A] [x-0- By-y0- C] 0

我的問題是給定thr EE點(X0,Y0,Z0),(X1,Y1,Z1)和(X2,Y2,Z2) 你怎麼設置的矩陣:

[a0 b0 c0 d0 
a1 b1 c1 d1 
a2 b2 c2 d2] 

爲了解決A,B,C, d?

+0

是否存在您的定位的特定語言? – BlooB

+0

任何,VB是首選,但C#是好的。 – nexusquasar

+2

2D中的一條線只經過兩點,在3D中也是一樣。所以你需要線性迴歸/最小二乘擬合? –

回答

3

您記下的等式是針對飛機的。對於3個變量的一個方程導致2維表面中的一般情況。給定3點的平面方程可寫爲行列式方程

| x1 x2 x3 x | 
0 = | y1 y2 y3 y | 
    | z1 z2 z3 z | 
    | 1 1 1 1 |