how to determine the position of points which belong to a circle ?

Hi how to determine the points of a circle (their x, y coordinates) if we knew the position of the center and the radius of the circle thanks!!!!

 采纳的回答

If the center is at (x0,y0) and the radius is r, then
1) if (x-x0)^2 + (y-y0)^2 < r^2, the point (x,y) is inside the circle,
2) if (x-x0)^2 + (y-y0)^2 == r^2, the point (x,y) is on the circle, and
3) if (x-x0)^2 + (y-y0)^2 > r^2, the point (x,y) is outside the circle.

1 个评论

thanks for this fast response this is what i'm realy looking for just i need now to write the appropriate code

请先登录,再进行评论。

更多回答(1 个)

6 个评论

The code I think you're looking for, which gives a list of x,y coordinates given a radius and center location is this:
xCenter = 12;
yCenter = 10;
theta = 0 : 0.01 : 2*pi;
radius = 5;
x = radius * cos(theta) + xCenter;
y = radius * sin(theta) + yCenter;
plot(x, y);
axis square;
xlim([0 20]);
ylim([0 20]);
grid on;
Change xCenter, yCenter, and radius value to whatever you need. If this answers your question, please mark as Accepted.
this code works well but for my case i implemented another one but this is work well and gives what i have asked in my question thanks again
Give your actual MATLAB code - if it's different than this, I can add it to the FAQ as an alternate method.
Well the first way is a totally inefficient way of doing the first method of the FAQ. You can do it just once like the FAQ shows you instead of having a double for loop.
And your second half of your code is just the 4th block of code in the FAQ, just what I recommended to you but you said you didn't use . But you did - you just didn't realize it. Anyway, you don't need to do it both ways.
In your first code it seems like you're trying to get the perimeter pixels, while in the second code you're getting a solid circular disc. I think you should decide whether you want all the pixels in the circle, or just the perimeter pixels, and use the section of the FAQ that does whichever one you want. I would not use your code as-is.
the second part of my code is just to show you what i want to get as result i.e i used it to shwo you the difference between the both codes. Besides, i had this part from about one year ago and for all these reasons i accepted the first answer and not yours but thanks !!

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by