Plane 平面

由法向量和一个距离常量确定的一个平面, 无限伸展, 没有边界. 也可以由3个点来确定一个平面.

Attributes

normal : Vector3

Default value : new Vector3( 1, 0, 0 )
Description : 单位法向量

constant : Float

Default value : 0
Description : 从原点到平面的符号距离

isPlane : Boolean

Default value : true(只读)
Description : 类型是否为平面

Methods

set( normal, constant ) : this
normal Vector3 法向量
constant Float 从原点到平面的符号距离

设置平面的法向量和从原点到平面的符号距离

setComponents( x, y, z, w ) : this
x Float 单位长度法向量的 x 值
y Float 单位长度法向量的 y 值
z Float 单位长度法向量的 z 值
w Float 平面的常量值

设置平面单位长度法向量的x, y, z 以及常量值w.

setFromNormalAndCoplanarPoint( normal, point ) : this
normal Vector3 法向量
point Vector3

从法向量和一点确定一个平面.

setFromCoplanarPoints( a, b, c ) : this
a, b, c Vector

三个点a, b, c按逆时针顺序, 来确定一个

normalize( ) : this

归一化法向量, 并相应地调整常量值.

negate( ) : this

使法向量和常量都无效.

distanceToPoint( point ) : this
point Vector3

返回平面到点 point 的距离.

distanceToSphere( sphere ) : Float
sphere Sphere 球体

返回平面到球体的距离:平面到球心的距离 - 球的半径.

coplanarPoint( target ) : target
target Vector3 返回的计算结果

target.copy( this.normal ).multiplyScalar( -this.constant )
计算原点在平面上的投影点.

projectPoint( point, target ) : target
point Vector3
target Vector2 返回的计算结果

target.copy( this.normal ).multiplyScalar( -this.distanceToPoint( point ) ).add( point )
求点在平面上的投影位置.

intersectLine( line, target ) : target
line Line3 线段
target Vector2 返回的计算结果

返回线段和平面的交点. 如果线不相交, 则返回undefined. 如果线与平面共面, 则返回线的起点.

intersectsLine( line ) : Boolean
line Line3 线段

检测是否与线段 line 相交.

intersectsBox( box ) : Boolean
box Box3 盒子

检测是否与盒子 box 相交.

intersectsSphere( sphere ) : Boolean
sphere Sphere 球体

检测是否与球体 sphere 相交.

applyMatrix4( m ) : this
m Matrix4 四维矩阵

将矩阵变换应用于平面.

translate( offset ) : this
offset Vector2 偏移量

平面沿着法向平移offset.

equals( plane ) : Boolean
plane Plane 平面

检验自身是否与 plane 相等.

clone( ) : Plane

复制自身.

copy( plane ) : this
plane Plane 平面

把一个平面赋值到自身.