空间离散点拟合成空间平面
生活随笔
收集整理的這篇文章主要介紹了
空间离散点拟合成空间平面
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.原理
空間中的離散點得到擬合平面,其實這就是一個最優化的過程。即求這些點到某個平面距離和最小的問題。我們知道一個先驗消息,那就是該平面一定會過眾散點的平均值。接著我們需要做的工作就是求這個平面的法向量。 根據協方差矩陣的SVD變換,最小奇異值對應的奇異向量就是平面的方向。2.代碼設計
% 隨機生成一組(x,y,z),這些點的坐標離一個空間平面比較近 x0=1,L1=2; y0=1,L2=2; x=x0+rand(20,1)*L1; y=y0+rand(20,1)*L2; z=1+2*x+3*y; scatter3(x,y,z,'filled') hold on;planeData=[x,y,z];% 協方差矩陣的SVD變換中,最小奇異值對應的奇異向量就是平面的方向 xyz0=mean(planeData,1); centeredPlane=bsxfun(@minus,planeData,xyz0); [U,S,V]=svd(centeredPlane);a=V(1,3); b=V(2,3); c=V(3,3); d=-dot([a b c],xyz0);% 圖形繪制 xfit = min(x):0.1:max(x); yfit = min(y):0.1:max(y); [XFIT,YFIT]= meshgrid (xfit,yfit); ZFIT = -(d + a * XFIT + b * YFIT)/c; mesh(XFIT,YFIT,ZFIT);3.實驗結果
總結
以上是生活随笔為你收集整理的空间离散点拟合成空间平面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开始投靠C#,入门版(一)
- 下一篇: 飞秋问招聘人数