我正在使用 UIBezierPath 绘制弧线。我如何计算这个弧的中点。
let center = CGPoint(x: bounds.width / 2, y: bounds.height / 2)
var startValue: CGFloat = 0
var startAngle: CGFloat = 0
var endValue: CGFloat = 0
var endAngle: CGFloat = 0
startAngle = (startValue * 2 * CGFloat(M_PI)) - CGFloat(M_PI_2)
endValue = startValue + 0.20
endAngle = (endValue * 2 * CGFloat(M_PI)) -CGFloat(M_PI_2)
let path = UIBezierPath()
path.moveToPoint(center)
path.addArcWithCenter(center, radius: radius.outer, startAngle: startAngle, endAngle: endAngle, clockwise: true)
path.fill()
path.stroke()
最佳答案
中点角度将是您的startAngle
和endAngle
的平均值。这将根据center
点和radius.outer
计算点:
let midPointAngle = (startAngle + endAngle) / 2.0
let midPoint = CGPoint(x: center.x + radius.outer * cos(midPointAngle), y: center.y - radius.outer * sin(midPointAngle))
关于ios - 如何使用 UIBezierPath 路径 ios 或 swift 计算圆弧绘制上的中点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33890464/