在 Three.js 中,我有一个简单的方法可以找到一个点(即我的相机的位置)和一条无限延伸的线之间的距离。但是,我真正需要的是找到一个点和由两点组成的一条线段之间的距离。注意:我使用的是 Three.js,它有 3 个空间维度:x、y 和 z。
这是我在 Three.js 中使用的点到线段公式:
var A = lineVertex1.clone()
var B = lineVertex2.clone()
var D = B.clone().sub( A ).normalize();
var d = camera.position.clone().sub( A ).dot( D );
var X = A.clone().add( D.clone().multiplyScalar( d ) );
var distance = camera.position.distanceTo( X );