如何找到位于彼此等距线上的点

时间:2016-03-13 18:39:07

标签: swift geometry swift2

使用Swift,从下图给出两个点A和C,我怎样才能找到B1,B2和B3点,知道它们彼此等距(距离相等)。

enter image description here

1 个答案:

答案 0 :(得分:3)

这是工作代码。

func findEquidistantPoints(startPoint: CGPoint, endPoint: CGPoint, pointsCount: UInt) -> [CGPoint] {

    let count = CGFloat(pointsCount + 1)
    let xDelta = (endPoint.x - startPoint.x) / count
    let yDelta = (endPoint.y - startPoint.y) / count

    return Array(1...pointsCount).map { CGPoint(x: startPoint.x + CGFloat($0) * xDelta, y: startPoint.y + CGFloat($0) * yDelta) }
}

findEquidistantPoints(CGPoint(x: 10, y: 23), endPoint: CGPoint(x: 34, y: 45), pointsCount: 3)