0
我正在寻找使用Java找出两个3D细分(和/或两条3D直线)之间交集的最佳方法。Java 3D细分交叉点
对于我在通过Google查找时了解的内容,似乎最好的做法是使用Java3D library。
但即使使用我真的不知道如何,库的相交类是不推荐使用的,当我通过Google寻找解决方案时,我总是最终找到一些令人困惑的代码来解决更多的问题比我的更大的问题。
非常感谢您的帮助。
我正在寻找使用Java找出两个3D细分(和/或两条3D直线)之间交集的最佳方法。Java 3D细分交叉点
对于我在通过Google查找时了解的内容,似乎最好的做法是使用Java3D library。
但即使使用我真的不知道如何,库的相交类是不推荐使用的,当我通过Google寻找解决方案时,我总是最终找到一些令人困惑的代码来解决更多的问题比我的更大的问题。
非常感谢您的帮助。
个人而言,我喜欢使用Apache公共图书馆
import org.apache.commons.math3.geometry.euclidean.threed.Line;
和
import org.apache.commons.math3.geometry.euclidean.threed.Vector3D;
,你需要进口。做一个十字路口,声明线条很简单,只需制作一条线并做一个.intersection()
你见过“3D中两条线之间最短的线”这一章http://paulbourke.net/geometry/ pointlineplane /? – MBo
嗯,我想我可以尝试找到最短的线,然后如果线的长度为0,我可以使用它的一个点来知道交点的位置。 但我试图找到的是一个“更清晰”的方法,可能是一个由图书馆管理的方法。 但是,无论如何,谢谢你的帮助。 – user3170923
无论如何,你必须检查线是否位于同一平面(不倾斜),即混合产品(行列式)为零(http://en.wikipedia.org/wiki/Skew_lines),这也需要大量计算 – MBo