圆与线的交点。

14次浏览(过去30天)
Shrishti Yadav
Shrishti Yadav 2021年11月3日
编辑: 马特·J 2021年11月4日
目标:得到平面上每一个x-y点与给定半径的圆相交的直线坐标。
我不确定它是否正在这样做。我以前用的是棕褐色,但我觉得棕褐色更好。我想用方程来解y= mx和圆方程,但那看起来太复杂了。如果你知道更简单的方法,请告诉我。
%计算直线和圆的交点
X = -a:b;
Y = (-a:b).';
U =数字(x);
Z = 0 (u*u,2);
= atan2((y-cy),(x-cx));%cx,圆心cy。
Zx = cx + r*cos(theta);
Zy = cy + r*sin(theta);
Z = [Zx(:) Zy(:)];
2的评论
Shrishti Yadav
Shrishti Yadav 2021年11月4日
求任意给定(x,y)点到圆的直线交点的坐标。y = mx与圆方程的交点有两点。
这就是我们的目标。在代码中,我只是使用了多个不同的x,y位置。例如,如果x= 1:5和y =1:5,则x,y的唯一位置总数为25。所以对于这25个位置中的每一个如果我们画一条穿过圆心的线,它会在圆的两点上相交。这两个点会在一个坐标上这就是代码的输出。

登录评论。

答案(1)

马特·J
马特·J 2021年11月4日
编辑:马特·J 2021年11月4日
一种方法,
[dx,dy]= ndgrid((-a:b)-cx, (-a:b)-cy);
因素= r /√(dx, dy。^ ^ 2 + 2);
Z = [dx (:), dy(:))。*因素(:)+ (cx, cy);

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!