永发信息网

【matlab】给定三点三维坐标,求构成的三角形的面积

答案:3  悬赏:0  手机版
解决时间 2021-04-03 06:31
  • 提问者网友:伴风望海
  • 2021-04-03 02:08
【matlab】给定三点三维坐标,求构成的三角形的面积
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-04-03 03:47
先求出各边长再用海伦公式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
全部回答
  • 1楼网友:洒脱疯子
  • 2021-04-03 05:35
先求各边长,再通过公式求面积!
  • 2楼网友:上分大魔王
  • 2021-04-03 03:58
定义函数
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追问点乘的输入怎么会是两个一样的向量呢?追答前面叉乘得到的Z是一个向量,这个向量Z的模长就是分别以X,Y为临边的平行四边形的面积。
而两个向量点乘后开方求的是该向量的模,也就是前面平行四边形的面积,该值的一半也就是三角形的面积
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯