在圆上绘制角度线并获得相交点

Draw angles lines over circle and get the intersecting points

我想在圆上绘制角度线(我在脚本中更改了角度)。我得到的情节线是 0 角度,为什么脚本没有向我显示所有角度,我该如何解决? 另外,请问如何计算交点?

脚本:

clc;
clear;
close all;

r=1000;

% based on : 
nCircle = 1000;

t = linspace(0,2*pi,nCircle);

xCircle = 0+ r*sin(t);  
yCircle = 0+ r*cos(t);  

line(xCircle,yCircle );

axis equal;
hold on;

nAngles = 45;
inceasedNumber = 360/nAngles;
lineLength = r+50;

for angle = 0:359:inceasedNumber
    xLine(1) = 0;
    yLine(1) = 0;
    xLine(2) = xLine(1) + lineLength * cosd(angle);
    yLine(2) = yLine(1) + lineLength * sind(angle);
    plot(xLine, yLine);
end

我认为您的 for 循环定义有误。步长必须出现在迭代开始和结束之间的中间:

for angle = 0:inceasedNumber:359

此外,MATLAB 使用弧度指定角度,因此 360° 等于 2pi,您必须相应地更改输入。

对于直线和圆的交点,我会在实现之前考虑几何形状;)