Three.js 3th.js中的平面常数定义

Three.js 3th.js中的平面常数定义,three.js,Three.js,的文档说明,常量是从原点到平面的有符号距离。但是,如果我在XZ平面下方构造一个简单的“地板”,如下所示: var plane = new THREE.Plane(); plane.setFromCoplanarPoints( new THREE.Vector3(0, -10, 0), new THREE.Vector3(0, -10, 1), new THREE.Vector3(1, -10, 0) ); console.log(plane); 我得到以下输出: Plane {n

的文档说明,
常量
是从原点到平面的有符号距离。但是,如果我在XZ平面下方构造一个简单的“地板”,如下所示:

var plane = new THREE.Plane();
plane.setFromCoplanarPoints(
  new THREE.Vector3(0, -10, 0),
  new THREE.Vector3(0, -10, 1),
  new THREE.Vector3(1, -10, 0)
);

console.log(plane);
我得到以下输出:

Plane {normal: Vector3, constant: 10, constructor: Object}
normal: Vector3
x: 0
y: 1
z: 0
<constructor>: "Vector3"
constant: 10
<constructor>: "Plane"
Plane{normal:Vector3,常量:10,构造函数:Object}
正常:矢量3
x:0
y:1
z:0
:“矢量3”
常数:10
:“飞机”
我的问题是:为什么是常量+10而不是-10?Y轴指向上,地板法线指向上,所以从原点到Y=-10平面的运动应该是负的,不是吗

类似于
Plane.distanceToPoint的函数给出了正确答案,因此我怀疑我没有正确阅读文档


原点位于平面正方向,为其法线的10倍。为什么错了?这个问题已经在github上讨论过了,请参阅
three.js
根据Hessian标准形式实现
three.Plane
(请参阅)。它是有符号的(如果将-10改为10,则得到常数-10),正好相反。这只是一个惯例,让你感到困惑:)