Hello,

I need to create a function which takes parameters for a circle and checks if a given point(x,y) lies within the circle (or on the edge).

Like this:

public static bool PointExistsInCircle(Double CircleX,Double CircleY,Double CircleRadius,Double PointX,Double PointY) 
{
needs to return 'true' if the point is in the circle, if not return 'false'.
}

Could someone help me with this?, unfortunately i'm not good at math..

Mervin.

Edited 7 Years Ago by MervinKoops: n/a

Well, the equation of a circle with radius R on the origin is [TEX]x^2+y^2=R^2[/TEX]
All you have to do is test if this inequality is true or false : [TEX]x^2+y^2 <= R^2[/TEX]
If it is true the point (x,y) is in the circle, if it is equal it is on the circle, else it lies outside the circle.
It should be rather easy to write that in C#.

Comments
nice

Ah okay thanks for the help :).

and what would be a formula which also takes an X and Y for the circle origin?

Edited 7 Years Ago by MervinKoops: n/a

Don't know exactly what you mean here but I guess it is something like this [TEX](x-a)^2+(y-b)^2 = R^2[/TEX]
Where a and b are the new coordinates of the center. If a and b are both zero then the circle has its center at the origin.

I don't understand the Circle X,Y, and Radius. Don't you just need a single center point and the radius, then draw the circle from there?

Edited 7 Years Ago by sknake: n/a

Take a look at online book at google - Physics for game programmers By Grant Palmer

SUMMARY:

Determine if the point is inside the circle by computing the distance from the point to the center of the circle. If the distance is less than 1, the point is inside.

double distance = Math.Sqrt((x-0.5)*(x-0.5) + (y-0.5)*(y-0.5));
if(distance<=0.5){
   ...
}

Thanks for the help everyone. I solved it :)

Edited 7 Years Ago by MervinKoops: n/a

This question has already been answered. Start a new discussion instead.