// 点到直线距离
// 直线Ax+By+C=0 坐标(Xo,Yo)那么这点到这直线的距离就为:│AXo+BYo+C│/√(A²+B²)。
// 已确定两点不重叠 (EP1 , EP2)
- (CGFloat)pointToLineDistanceEP1:(CGPoint)EP1 EP2:(CGPoint)EP2 OP:(CGPoint)OP
{
CGFloat K = (EP2.x - EP1.x) / (EP2.y - EP1.y);
CGFloat A = 1;
CGFloat B = -1 * K;
CGFloat C = K * EP1.y - EP1.x;
CGFloat dis = fabs(A * OP.x + B * OP.y + C) /sqrt(A * A + B * B);
return dis;
}
// 两点距离
- (CGFloat)pointToPointDistanceP1:(CGPoint)P1 P2:(CGPoint)P2
{
CGFloat disX = P2.x - P1.x;
CGFloat disY = P2.y - P1.y;
CGFloat dis = sqrt(disX * disX + disY * disY);
return dis;
}