计算给定线性曲线的总长度,忽略弯曲

Calculate Total Length of Given linear Curves ignoring Bends

我想通过忽略弯曲来计算线性(直线)的总长度。 注意:弯曲角度为90度。

我有一个解决方案,但需要以最佳方式解决,否则欢迎使用任何公式。

当前解决方案:

  1. 计算所有直线的端点。
  2. 与直线相交得到虚拟交点。
  3. 然后计算每条直线起点与虚拟交点的点间距离
  4. 将所有长度相加。

不太清楚做了什么?图片?线段和圆弧描述?

在任何情况下 - 水平线将从上一条垂直线的 Y 坐标开始,并在下一条垂直线的 Y 坐标结束。

反之亦然 - 垂直线将从前一条水平线的 X 坐标开始,到下一条水平线的 X 坐标结束。

所以结果是

 Sum(Abs(X(i+2) - X(i)))  +    //over horizontal lines
 Sum(Abs(Y(k+2) - Y(k)))  +     //over vertical lines
 two  end differences

大家不要嫌弃,我看不出有什么难处。

L = L1 + 2 R1 + L2 + 2 R2 + L3.

请注意,确切的长度(不忽略弯曲)是

L = L1 + π/2 R1 + L2 + π/2 R2 + L3.