是否有任何直接的方法可以在適合資料的線性表面上匯出法線向量。表面是由fit我的 X、Y、Z 資料點上的函式創建的:
sf = fit([X2, Y2],Z2,'poly11');
c = coeffvalues(sf);
P0 = [0; 0; c(1)];
plot(sf,[X2,Y2],Z2)
圖中的線性多項式曲面:
現在我需要獲取法線N向量,以便通過點函式計算所有點到曲面的距離:
dot(sf-P0,N)
有什么指導嗎?非常感謝!
uj5u.com熱心網友回復:
好的,根據這里和許多其他來源,如果您以以下形式定義平面
Ax By Cz = D
然后,您正在尋找的法線向量將是 [A, B, C]。
現在通過使用 fit,您獲得了一個 sf 物件,其 coeffvalues c 的順序為
z=c(1) c(2)x c(3)y
這與
c(2)x c(3)y-z=c(1)
在那里,你得到一個法線向量N=[c(2), c(3), -1]。
然后,計算 P0 和表面之間的距離,一種方法是
(P0 * (N.') c(1)) / norm(N)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/526244.html
標籤:matlab向量表面
上一篇:如何在MATLAB中擴展數字范圍
