gpt4 book ai didi

java - 确定线段和圆弧的所有组合之间的交点

转载 作者:行者123 更新时间:2023-12-01 04:13:26 30 4
gpt4 key购买 nike

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

注意:弧也可以指定为 x1y1x2y2 R,其中 R 是半径,但是我已经有了一种将一种转换为另一种的机制。

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

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

最佳答案

你的问题归结为寻找(1)线-线,(2)线-弧,(3)弧-弧之间的交点

(1) 您可以在互联网上找到很多解决方案。这是一个: How do you detect where two line segments intersect?

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

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

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

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

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

关于java - 确定线段和圆弧的所有组合之间的交点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19664112/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com