0

直線が円の中心 (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

したがって、「解決」機能を使用して交点を解決する必要があります。それで、私は本当に助けていただければ幸いです!

よろしくお願いします

4

1 に答える 1

0

これに対する1つのアプローチを次に示します。

%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 ピクセルの幅を持つ 2 つの線が正確に同じ位置にあるとは限らないため、推測する必要があることに注意してください。( と を考慮[1 0; 0 1]して[0 1;1 0]ください。それらは交差しますが、正確に重なることはありません)。

状況を視覚化したい場合は、試してくださいcontour(intersection)

于 2013-10-08T14:07:39.703 に答える