intersectsPlane
是Yuka js库中的一个方法,用于检测一个平面和另一个平面是否相交。
intersectsPlane( planeA, planeB )
true
。false
。import { Plane, intersectsPlane } from 'yuka';
const planeA = new Plane( 0, 1, 0, 0 );
const planeB = new Plane( 0, 1, 0, -100 );
console.log( intersectsPlane( planeA, planeB ) ); // true
intersectsPlane
方法用于判断两个平面是否相交,其实是判断两个平面的法线是否互相垂直。
如果两个平面的法线互相垂直,则它们相交,否则不相交。
因此,intersectsPlane
方法的实现非常简单:
function intersectsPlane( planeA, planeB ) {
return planeA.normal.dot( planeB.normal ) !== 0;
}
这里的 dot
方法是 Vector3
中的点积方法。
值得一提的是,intersectsPlane
方法对于两个相同的平面也返回 true
,这是因为同一个平面的法线一定垂直于自身。