全局
MeshBVH
SerializedBVH
MeshBVHVisualizer
ExtendedTriangle
OrientedBox
Raycaster
StaticGeometryGenerator
GenerateMeshBVHWorker

ExtendedTriangle.distanceToPoint

ExtendedTriangle.distanceToPoint方法用于计算三角形表面与给定点之间的距离。该方法对于碰撞检测和射线追踪算法十分有用。

语法

ExtendedTriangle.prototype.distanceToPoint(point: Vector3): number

参数

  • point — 需要计算距离的点,类型为Vector3。

返回值

该方法返回三角形表面与给定点之间的距离。如果给定点在三角形内部,则返回值为0。

用例

const triangle = new THREE.ExtendedTriangle(
    new THREE.Vector3(0, 0, 0),
    new THREE.Vector3(0, 1, 0),
    new THREE.Vector3(1, 0, 0)
);

const point = new THREE.Vector3(0.2, 0.3, 0);

const distance = triangle.distanceToPoint(point);

console.log(distance); // 输出 0.316227766016838

示例说明

以上示例中,我们创建了一个三角形,并计算了三角形表面与给定点之间的距离。给定点处于三角形内部,计算结果为0。

注意事项

该方法基于https://www.geometrictools.com/Documentation/DistancePoint3Triangle3.pdf中的算法实现。如果需要多次计算距离,建议使用WebAssembly来提高性能。