【发布时间】:2011-04-26 11:27:37
【问题描述】:
我需要一个算法来将一个(可能是非凸的)多边形与一个矩形相交。矩形将平行于 xy 平面,但多边形可以是任何方向。
此外,我不仅需要真/假结果,还需要多边形与矩形相交的确切点,这样我就可以在多边形与矩形重叠的地方画线。对于非凸多边形,这可能会导致两条或更多条相交线。
这适用于一个截面切割模块,该模块可以切割一组多边形并创建一个二维“切割”,其中形状与由 z 值指定的“平面”相交。
我正在使用 Java 进行开发,因此如果 Java3(2)D 有任何内置方法可以提供帮助,那将是理想的选择。
任何正确方向的帮助/指针将不胜感激!
这是一张图片...我想要红线作为交叉点的结果:
【问题讨论】:
-
您是否反对将多边形的每条线段相交并连接点的微不足道的事情?
-
这就是我想象的解决方案。 Java3D可以将线段与多边形相交并返回交点吗?我必须小心非凸多边形相交两次,但我想我可以处理这个问题,如果我能得到交点......
-
我不知道 Java3D,快速搜索发现:code.j3d.org/using/geom_intersect.html