**
已知乙個平面,其上一點o(一般是中心點),平面法線n。平面外一點p,求p點在平面上的投影。
這個問題在解數學題的時候不需要多想,按照已知條件帶入公式求值計算即可,到最後會化簡成幾個多項式,可以用多種方法求解。比較麻煩的是用程式設計的方法計算多項式是件很麻煩的事情,至少在下覺得寫出來的**不會太好看。
為了使解決問題的思路更適合變成**,在設計變數上最好只使用乙個變數。在這個問題中,可以通過乙個變數就能表示出來的是p在法線n上的投影點p』。我們可以通過求得p』的座標從而計算出p在平面上的投影。
p』 = o + k * n
使用向量點乘公式:a * b = |a| * |b| * cos,可以得到:
p』p * p』o = | p』p | * |p』o| * cos
= | p』p | * |p』o| * cos 90°
= 0又 p』p = p - p』 = p - (o + n * k) = p - o - n * k
p』o = o + n * k - o = n * k
得 (p - o - n * k) * n * k = 0
又 p,o已知,**中可以直接計算,可以設v = p – o, 並且k可以約去
得 (v – n * k) * n = 0
展開 <(v.x – n.x * k), (v.y – n.y * k), (v.z – n.z * k)> * = 0
整理 k = (v.x * n.x + v.y * n.y + v.z * n.z) / n.x^2 + n.y^2 + n.z^2
又 n.x^2 + n.y^2 + n.z^2是n的長度的平方,n是法線,長度為1
得 k = v.x * n.x + v.y * n.y + v.z * n.z
使用上面的求p』的式子可以算出p』的座標。把p在平面o上的投影記作p』』,則:
p』』 = o + p』p
點到平面的距離公式
ax by cz d 0 其中n a,b,c 是平面的法向量,d是將平面平移到座標原點所需距離 所以d 0時,平面過原點 給定乙個向量v x,y,z 則 v sqrt x x y y z z 給定兩個向量v1 x1,y1,z1 和v2 x2,y2,z2 則他們的內積是 v1v2 x1x2 y1y2 ...
點到平面的距離公式
ax by cz d 0 其中n a,b,c 是平面的法向量,d是將平面平移到座標原點所需距離 所以d 0時,平面過原點 給定乙個向量v x,y,z 則 v sqrt x x y y z z 給定兩個向量v1 x1,y1,z1 和v2 x2,y2,z2 則他們的內積是 v1v2 x1x2 y1y2 ...
點到超平面的距離
首先說一下採用向量法計算點到平面的距離 設圖中平面的方程為ax by cz d 0,點m0的座標為 x0,y0,z0 點m1的座標為 x1,y1,z1 求m1到平面的距離。解 其中a為向量m0m1與平面法向量之間的夾角,對於平面ax by cz d 0,該平面的乙個法向量n為 a,b,c 由於 因此...