给定三个点的坐标求夹角

文章目录

  • calculate_angle.m
  • main.m
  • 结果
  • 参数设置

calculate_angle.m

function angle = calculate_angle(point1, vertex, point3)
    vec1 = point1 - vertex;
    vec2 = point3 - vertex;
    dot_product = dot(vec1, vec2);
    magnitude_product = norm(vec1) * norm(vec2);
    angle = acos(dot_product / magnitude_product);
    %angle_deg = rad2deg(angle);
end

main.m

% 用法示例
x1 = 0;
y1 = 1;
x2 = 0;
y2 = 0;
x3 = 1;
y3 = 0;
point1 = [x1, y1];  % 第一个点的坐标
vertex = [x2, y2];  % 第二个点的坐标 (顶点)
point3 = [x3, y3];  % 第三个点的坐标

angle_deg = calculate_angle(point1, vertex, point3);
disp(['夹角的度数为:', num2str(angle_deg)]);

结果

夹角的度数为:1.5708

参数设置

1.x1,y1;x2,y2;x3,y3
三个点的坐标
2.角度和弧度
3.两个文件(calculate_angle.m,main.m)放在一个文件夹下面

你可能感兴趣的:(数学建模,matlab,数学建模)