1. 程式人生 > >當兩直線夾角接近90度時候求兩直線的夾角的方法

當兩直線夾角接近90度時候求兩直線的夾角的方法

通過將接近垂直的直線旋轉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;