2

给定线段x1, y1, x2, y2, 和圆弧(用x1, y1, x2, y2, I,定义j;其中IX 方向x1到圆心的j距离,Y 方向y1到圆心的距离;用(x1,y1)=(x2,y2)是圆。),我如何找到这些几何集合之间所有交点的坐标?

注意:圆弧也可以用x1, y1, x2, y2,来表示RR半径是,但是我已经有了一种将一个转换为另一个的机制。

这是一个 Java 项目,我还没有找到任何库或算法来确定这一点。

确定两条线段之间的交点很简单,但其他情况要复杂得多。

4

1 回答 1

1

您的问题归结为找到 (1) line-line, (2) line-arc, (3) arc-arc 之间的交点

(1) 你可以在互联网上找到很多解决方案。这是一个: 如何检测两条线段相交的位置?

(2) 假设一开始你有直线和圆(而不仅仅是线段和圆弧)。如果直线和圆相交,那么您可以这样计算点:http: //mathworld.wolfram.com/Circle-LineIntersection.html

如果存在这一个或两个点,您必须检查它们实际上是否包含在线段和弧中。如果是这样,你有你的观点!

(3)在这里你再次假设你有两个圆圈并以这种方式找到点:http: //mathworld.wolfram.com/Circle-CircleIntersection.html

最后再次检查这些点是否属于两个弧。

如果你有这三种方法,你可以尝试贪婪的方式,尝试所有N^2的线段和圆弧组合

于 2013-10-29T16:54:01.440 回答