当线性线穿过圆心(x,y)时,我想找到两(2)个交点。
r = 13 radius
x = 0 x-coordinate
y = 7 y-coordinate
k = 9 slope value(?) y=kx+m y=9x+m
所以首先我画一个r = 13且中心为(0,7)的圆圈。
r=13
x=0
y=7
k=9
hold on
z = 0:pi/50:2*pi;
xunit = r * cos(z) + x;
yunit = r * sin(z) + y;
plot(xunit, yunit);
我想知道是否有可能以更简单的方式绘制圆圈?像
这样的东西(x−cx)^2 + (y −cy)^2 = r^2
(x-0)^2 + (y-7) = 13^2
我试过这个
plot((x−cx)^2 + (y −cy)^2 = r^2)
它根本不做任何事情,因此代码必须不正确。
那么,我正在通过计算
绘制线性方程y=kx+m
k=9
这条线路已经过去了(0,7)
7=9*0+m
m=7
y=9x+7
所以既然我是MatLab的新手,我花了一些时间来画线。我没有找到任何简单的函数来绘制它所以我画了这样的一行:
我为x或y取了一些随机值并计算了一些坐标。
(0,7)
(2,25)
(-2,-11)
plot([-2,2],[-11,25])
结果图片:http://i.imgur.com/ag6HJlm.jpg
所以现在我只需要用“求解”功能来解决交点。好的,我真的很感激一些帮助!
最好的问候
答案 0 :(得分:0)
这是一种方法:
%Place your lines and figures on the grid
linexypos = eye(100);
shapexypos = flipud(eye(100)) ;
% Guess where they come together
intersection = filter2(ones(3),linexypos + shapexypos);
[quality, loc] = max(intersection(:))
请注意,您必须猜测,因为宽度为1像素的两条线可能没有完全相同的位置。 (考虑[1 0; 0 1]
和[0 1;1 0]
,它们交叉但从不完全重叠。
如果您想要了解情况,请尝试contour(intersection)