我有一些由 Path2D 表示的路径。路径由多个相互连接的 CubicCurve2D 或 Line2D 线段组成。我想计算或获取路径从起点到终点的长度。我该如何计算或得到它?是否可以?我查过the API documentation ,但找不到任何有用的方法。
最佳答案
首先使用 getPathIterator()
获取路径元素。如果路径只有 SEG_MOVETO
和 SEG_LINETO
元素,则长度应该很容易计算。只需对所有 SEG_LINETO
求和 sqrt((X1-X2)^2 + (Y1-Y2)^2),其中点 (X1, Y1) 是前一个端点,(X2, Y2) ) 是 currentSegment(double[]) 返回的当前段。
如果它还包含 SEG_QUADTO
或 SEG_CUBICTO
元素,则需要一个更复杂的公式,我现在不想弄清楚(可能需要微积分)。
关于java - Java中如何计算Path2D的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549206/