最佳答案
希望您熟悉polar coordinates .我写了一个简单的算法来计算角点:
let center = CGPoint(x: 100, y: 100)
let numberOfCorners: Int = 5
let radius = 50.0
var angle:Double = 0.0
let startAngle = M_PI_2
var points: [CGPoint] = []
angle = startAngle
while angle - startAngle < 2*M_PI {
let x = radius * cos(angle) + Double(center.x) // transform polar coordinates to XY
let y = radius * sin(angle) + Double(center.y)
let point = CGPoint(x: x, y: y)
points.append(point)
let angleIncrease = Double(2.0*M_PI)/Double(numberOfCorners)
angle += angleIncrease
}
print(points)
它应该适用于其他多边形。您只需指定 numberOfCorners 和 startAngle
(以弧度为单位)。我认为 iOS
坐标的正确 StartAngle 是:3/2 PI
。
但是对于默认的 XY 平面
来实现图片上的多边形,pi/4
就可以了。
关于ios - 求圆内五边形的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33474367/