通过将接近垂直的直线旋转90度成为水平方向。在通过拟合方式求出斜率。通过斜率的反函数求出对应与x轴的夹角。
在通过相应的几何知识就可以求出想要的夹角。
function out_angle = my_cal_angle(input_up_edge_pos,cut_pos,cut)%--求取切面 与侧面的夹角 通过拟合直线的方式 [k1,b1] = polyfit(1:max(size(input_up_edge_pos)),input_up_edge_pos,1);% [k2,b2] = polyfit(cut_pos(cut),cut,1);[k2,b2] = polyfit(cut,cut_pos(cut),1);%--通过 反三角函数求出直线夹角%---向上偏为正值 向下为负值a1 = rad2deg(atan(k1(1)));%---向左偏为负值 向右偏为正值a2 = rad2deg(atan(k2(1)));out_angle = 90 + a1 + a2;