定义函数
function area(A,B,C)%输入三点坐标
if length(A)==3&length(B)==3&length(C)==3%检查向量维数
X=B-A;
Y=C-B;
Z=cross(X,Y);%叉乘求向量
s=1/2*sqrt(dot(Z,Z))%点乘求面积
end%if结束
end
然后在命令窗口输入三点坐标,按A=[1,1,0]这种方式输入;
运行函数area(A,B,C)
得到
s =
20.8866
先求各边长,再通过公式求面积!
先求出各边长再用海伦公式S=√[p(p-a)(p-b)(p-c)] ,p=(a+b+c)/2
代码如下:
AX=1;AY=1;AZ=0;BX=10;BY=1;BZ=5;CX=5;CY=5;CZ=3;
a=sqrt((AX-BX)^2+(AY-BY)^2+(AZ-BZ)^2);
b=sqrt((BX-CX)^2+(BY-CY)^2+(BZ-CZ)^2);
c=sqrt((AX-CX)^2+(AY-CY)^2+(AZ-CZ)^2);
p=(a+b+c)/2;
S=sqrt(p*(p-a)*(p-b)*(p-c))
结果:
S =
20.8866