java - Java中如何计算Path2D的长度?

标签 java geometry java-2d graphics2d

我有一些由 Path2D 表示的路径。路径由多个相互连接的 CubicCurve2D 或 Line2D 线段组成。我想计算或获取路径从起点到终点的长度。我该如何计算或得到它?是否可以?我查过the API documentation ,但找不到任何有用的方法。

最佳答案

首先使用 getPathIterator() 获取路径元素。如果路径只有 SEG_MOVETOSEG_LINETO 元素,则长度应该很容易计算。只需对所有 SEG_LINETO 求和 sqrt((X1-X2)^2 + (Y1-Y2)^2),其中点 (X1, Y1) 是前一个端点,(X2, Y2) ) 是 currentSegment(double[]) 返回的当前段。

如果它还包含 SEG_QUADTOSEG_CUBICTO 元素,则需要一个更复杂的公式,我现在不想弄清楚(可能需要微积分)。

关于java - Java中如何计算Path2D的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549206/

相关文章:

java - 线程 "timer-0"java.lang.NoClassDefFoundError 中的异常

java - 使用 Apache Batik 调整 svg 文件大小时内存不足

java - 使用 java android 进行签名和验证

java - 根据 ID 或属性迭代 Firestore Android 集合

java - Xpath 在 Chrome 浏览器中工作,但相同的 Xpath 在 Firefox 浏览器中不工作

确定网格单元格上的 Blob 重叠百分比的算法

python - 三点之间的角度

algorithm - 获取网格的边界边缘 - 按缠绕顺序

java - 在 Java 中创建和绘制巨大的(缓冲的)图像

java - 球从鼠标拖动绘制的线上弹起