问题
Given the center point and radius of a circle, how do I know if a certain point (x,y) is in the circle? Anyone knows it? Thanks.
回答1:
Originally you asked for Objective-C.
CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
{
CGFloat dx = point2.x - point1.x;
CGFloat dy = point2.y - point1.y;
return sqrt(dx*dx + dy*dy );
};
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint point = [[touches anyObject] locationInView:self];
CGFloat distance = DistanceBetweenTwoPoints(self.circleCenter, point);
if(distance < self.radius){
//inside the circle
}
}
This code assumes, that you dealing with the circle inside a subclassed View.
来源:https://stackoverflow.com/questions/7398901/point-within-circle