日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

不共线三点确定特征平面并求解平面系数

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不共线三点确定特征平面并求解平面系数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.基本原理

?已知三點p1,p2,p3,求其平面方程,p1=[x1,y1,z1];p2=[x2,y2,z2];p3=[x3,y3,z3];那么求解下面矩陣q行列式就是了:q=[ones(4,1),[x,y,z];p1;p2;p3];detb=det(q);最后令q=0;

這里的求解方法是四階矩陣的行列式求解,可以從三階矩陣的行列式推導出來,那就是常規的求解方法:方程組寫成[p1;p2;p3]=D,其中D=[d,d,d]'表示平面方程的常數項,先求q=[p1;p2;p3]的行列式,再分別求D與三個坐標兩個分量合成的三階矩陣的行列式,設為q1,q2,q3;那么所求的平面方程的四個參數就是A=q1/q;B=q2/q;c=q3/q;D=d;同時乘以q/d所得結果本質上就是上面四階矩陣行列式解。

2.Matlab代碼

<span style="font-size:14px;">function [a,b,c,d] = TriPts2Plane( A,B,C ) %不共線三點確定一個平面 %具體指,2DUS提供的數據點確定3DCT中的一個參考平面 % A,B,C 不共線的三個點 %a,b,c,d 確定平面方程的參數 %沈春旭/沈子恒 2016.4.8 %-------------------------------Step1:確定平面方程-------------------------%syms x y z %D的行列式等于零就是平面方程。 if (det([A;B;C]) == 0)msgbox('特征點線性相關,不足以構成平面');return; elseD=[ones(4,1),[[x,y,z];A;B;C]];detd = det(D);str = char(detd); %---------------------------------Step2: 提取系數--------------------------%amark = find(str=='x');bmark = find(str=='y');cmark = find(str=='z'); %------------------------------------------- if(size(amark,2))a = coeffs(detd,x); a = double(a(2));%系數按照升冪順序排列elsea = 0;end %------------------------------------------- if(size(bmark,2))b = coeffs(detd,y); b = double(b(2)); elseb = 0;end %------------------------------------------- if(size(cmark,2))c = coeffs(detd,z); c = double(c(2)); elsec = 0;end %------------------------------------------- [~,num] = size(str);if(num>max([amark,bmark,cmark]))d = coeffs(detd); d = double(d(1));elsed = 0;end %------------------------------------------- end end</span>
測試代碼: clc; clear all; close all; A=[0,0,105];%A,B,C的坐標由自己定義。 B=[0,512,105]; C=[512,0,95]; [a,b,c,d]=TriPts2Plane(A,B,C); plane = [A;B;C;A]; plot3(plane(:,1),plane(:,2),plane(:,3),'*'); hold on %ezmesh(z)plot3(plane(:,1),plane(:,2),plane(:,3),'b-'); axis([0 512 0 512 0 163]) grid on;
測試結果:

總結

以上是生活随笔為你收集整理的不共线三点确定特征平面并求解平面系数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。