lintao414 发表于 2009-5-19 19:59

用matlab求三角形角度

我已经求出图像中各边的长度了,但是用反余弦函数求角度,发现求出的结果全是向量形如
a+ib这样的形式,而且值还很大,不在180°以内,各位有没有用好的办法解决?
十万分的谢谢

xiezhh 发表于 2009-5-20 13:18

我编了一个函数,可能对你有所帮助
function =TriAngleArea(a,b,c)

%给定3边长a,b,c,求3个角度(弧度)和三角形面积
%=TriAngleArea(a,b,c)
%triang: 3*1的向量,分别为a,b,c三边所对角的角度
%triarea: 三角形面积
if a+b>c & a+c>b & b+c>a
    p=(a+b+c)/2;
    triarea=sqrt(p*(p-a)*(p-b)*(p-c));
    angA=acos((b^2+c^2-a^2)/(2*b*c));
    angB=acos((a^2+c^2-b^2)/(2*a*c));
    angC=acos((a^2+b^2-c^2)/(2*a*b));
    triang=;
else
    error('输入的三个数为边长不能构成三角形')
end

调用:=TriAngleArea(3,4,5)
结果:
x =
    0.6435    0.9273    1.5708
y =
   6

lintao414 发表于 2009-5-28 21:44

谢谢,这个问题我自己也弄出来了
页: [1]
查看完整版本: 用matlab求三角形角度