[英]Determine the amount of points needed to convert an arc to line segments
弧由 start_point、sweeping_angle 和 center_point 定义。 如果给定一个参数“公差”,即原始圆弧和线段之间的误差。 如何计算将此弧转换为线段所需的最少点数?
θ角小弧与其弦之间的最大偏差在中间,该偏差的值为( versine )
tol = R * (1-Cos(theta/2))
有 N 条弧
SweepAngle = N * theta
theta = SweepAngle / N
tol = R * (1-Cos(SweepAngle / (2N)))
tol/R = (1-Cos(SweepAngle / (2N)))
Cos(SweepAngle / (2N)) = 1 - tol/R
SweepAngle / (2N) = ArcCos(1 - tol/R )
N = 1/2 * SweepAngle / ArcCos(1 - tol/R )
快速检查:
SweepAngle = Pi
R = 1
tol = 1 - sqrt(2)/2 ~ 0.293
N = Pi/2 / ArcCos(0.707) = (Pi/2) / (Pi/4) = 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.