方法 Line3.at()
可以用来获得三维空间中线段指定位置的点的坐标。
.at( t, optionalTarget )
t
:一个介于 0 和 1 之间的数字,用来表示线段上的位置。当 t = 0 时,表示线段的起点,当 t = 1 时,表示线段的终点。optionalTarget
:可选的三维向量,用来保存计算得到的点的坐标。如果不提供此参数,则会新创建一个三维向量作为返回值。如果提供了可选参数 optionalTarget
,则返回值为改变后的 optionalTarget
。否则,返回值为一个新创建的向量,表示线段上指定位置的点的坐标。
var line = new THREE.Line3( new THREE.Vector3( -1, 0, 0 ), new THREE.Vector3( 1, 0, 0 ) );
var point = line.at( 0.5 );
console.log( point ); // Vector3 { x: 0, y: 0, z: 0 }
上面的示例中,我们创建了一条从 ( -1, 0, 0 ) 到 ( 1, 0, 0 ) 的线段,并使用 at()
方法计算了线段上的中心点的坐标。最终输出的是 Vector3
类型的向量,其坐标为 ( 0, 0, 0 )。
由于 at()
方法返回的是一个 Vector3
类型的向量,因此可以直接使用向量对象的方法和属性来操作返回的点。
如果在计算过程中提供了可选参数 optionalTarget
,则使用此参数作为返回值,否则会新创建一个 Vector3
类型的向量作为返回值。
如果 t
的值小于 0 或大于 1,则计算得到的点可能不在线段范围内,因此使用此方法时需要保证 t
的值介于 0 和 1 之间。