我正在尝试确定两个3D但共面三角形相交的所有点。我找到了检测三角形是否相交的方法,但我真正需要的是交叉点发生的实际点。下面我展示了一些这种情况。 另外,我将用Java编写这个,但我确信只要我理解数学,我就可以转换另一种语言!
我知道所有的顶点,但就是这样! 编辑澄清。
谢谢, 迈克尔
答案 0 :(得分:0)
如果你没有飞机的等式,你需要计算它。
暂时忽略z轴(除非这会使所有点都落在同一条线上,在这种情况下忽略另一个轴:)
找到第一个三角形的每个边缘和另一个三角形的每个边缘的交点
将交叉点插回飞机的等式中以恢复z
:来自line line intersection wikipedia article
丢弃任何不落在两边的交叉点
这是执行第3步的js片段
function remove_sticky_class($classes) {
$classes = array_diff($classes, array("sticky"));
$classes[] = 'wp-sticky';
return $classes;
}
add_filter('post_class','remove_sticky_class');