【发布时间】:2021-01-25 10:13:59
【问题描述】:
在 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 );
【问题讨论】:
-
Line3 有 .closestPointToPoint() 方法。
-
谢谢,我看到这也有指定线段的选项。
标签: javascript three.js 3d distance line-segment