Java 的几何库 [已关闭]
是否有任何可用于 Java 的几何库?我正在寻找解决方案来获得两个几何对象之间的交点。
就商业选项而言,您有ESRI的Java JNI版本的ArcObjects库,它具有非常强大的几何库。ESRI 库上的接口称为 ITopologicalOperator
如果您要做的只是几何操作,那么JTS是您最好的选择 - 它是一个出色的库,具有许多不同语言的端口。另一方面,如果您正在寻找一个具有复杂符号系统、支持 GIS 工作流和多用户编辑、打印等功能的整个 GIS 系统,那么我将开始查看 ESRI 库。
你应该看看的软件包,这是JDK的一部分。java.awt.geom
特别是查看java.awt.geom.Area
类,它允许您在两个s之间执行交集操作。Shape
编辑
据我所知,找到交点并非易事,因为您需要根据要分析的形状应用不同的算法。例如,这里给出了两个圆之间相交的算法,而计算两条贝塞尔曲线之间切口的算法是完全不同的(这里)。
编辑 2
一个建议:您可以查看该类,该类将形状路径的描述作为一系列段返回。特别是检出 ,它会将任何曲线折叠成多条直线。一旦您的路径被简化为直线,计算交点将很简单......尽管很明显,这是在形状包含曲线的情况下的近似值。PathIterator
FlatteningPathIterator