检测多边形内是否有CGPoint

JWo*_*ood 19 iphone cocoa objective-c quartz-graphics ios

我有一组构成多边形形状的CGPoints,如何检测单个CGPoint是在多边形的内部还是外部?

比方说,形状是一个三角形,CGPoint正在向右移动,我怎么能检测到它何时越过三角线?

CGRectContainsPoint当形状是常规的4面形状时,我可以使用,但我看不出我会用奇怪的形状做到这一点.

omz*_*omz 28

您可以从您的点创建CG(Mutable)PathRef(或UIBezierPath包装a CGPathRef)并使用该CGPathContainsPoint函数检查点是否在该路径内.如果使用UIBezierPath,您也可以使用该containsPoint:方法.