如何根据另一个CGPoint、固定距离和角度生成一个CGPoint?

问题描述 投票:0回答:0

我正在尝试为绘图应用程序实现一项新功能。我想根据另一个点、距离和 90 度角生成一个

CGPoint
。所以在这里我有2点。我计算了中点,然后我想根据那个中点画一条固定距离的线。它看起来很像这样:

到目前为止我所做的是:

// `startPoint` and `endPoint` is the touch point from the user's fingers
let midYFromBothPoints: CGFloat = startPoint.y + ((endPoint.y - startPoint.y) / 2)
let midXFromBothPoints: CGFloat = startPoint.x + ((endPoint.x - startPoint.x) / 2)
let midPoint: CGPoint = CGPoint(x: midXFromBothPoints, y: midYFromBothPoints)

shape.a = startPoint
shape.b = endPoint
let xDelta = abs(shape.c.x - midPoint.x)
let yDelta = abs(shape.c.x - midPoint.y)
shape.c = CGPoint(x: midXFromBothPoints + xDelta, y: midYFromBothPoints)

我数学不太好,所以我不知道自己在做什么。无论如何要解决这个问题?

ios swift core-graphics
© www.soinside.com 2019 - 2024. All rights reserved.