matlab實現求平面或空間三點圍成三角形的面積

2021-10-03 22:27:35 字數 684 閱讀 9028

我們知道三角形的面積=1/2×a×b×sinc,其中c為ab兩邊的夾角。

運用叉乘公式(matlab裡用cross()函式實現),我們可以得到absinc,但這時候結果還是乙個三維向量,用norm()函式取向量的模長即可。

求三角形面積函式

function s=area(a,b,c)

if length(a)

==2 %輸入三點是二維平面座標,變成三維

ab=[b-a 0]

; bc=

[c-b 0]

;elseif length(a)

==3 %輸入三點是三維空間座標

ab=b-a;

bc=c-b;

end z=cross(ab,bc)

; %叉乘

s=1/2*norm(z)

; %取模

end

測試
a=

[2 2];b=

[0 0];c=

[2 -2]

;s=area(a,b,c)

a=

[0 0 0];b=

[1 1 1];c=

[0 0 1]

;s=area(a,b,c)

空間剛架matlab 基本平面剛架MATLAB程式

平面剛架 matlab 程式 2003.9.16 2007.2.28 2008.4.1 2009.10 2011.10 2013.9 2014.09 變數說明 npoin nelem nvfix nfpoin nfpres 總結點數 單元數約束個數 受力結點數 非結點力數 coord lnods y...

空間剛架matlab 基本平面剛架程式matlab

平面剛架 matlab 程式語言 matlab 2003.9.16 2007.2.28 2008.4.1 2009.10.10 變數說明 npoin nelem nvfix nfpoin nfpres 總結點數 單元數約束個數 受力結點數 非結點力數 coord lnods young 結構節點座標...

matlab中實現RANSAC平面擬合

三維平面擬合 生成隨機資料 內點mu 0 0 0 均值 s 2 0 4 0 4 0 4 0 8 協方差 data1 mvnrnd mu,s,300 產生200個高斯分布資料 外點mu 2 2 2 s 8 1 4 1 8 2 4 2 8 協方差 data2 mvnrnd mu,s,100 產生100個...