three.js Sphere
一个球由球心和半径所定义。
构造函数
Sphere( center : Vector3, radius : Float )
center - 球心的位置,默认值是一个位于(0, 0, 0)的Vector3。
radius - 球的半径,默认值是-1。
创建一个新的Sphere。
属性
.center : Vector3
A Vector3定义了球心的位置,默认值位于(0, 0, 0)。
.radius : Float
球的半径,默认值为-1。
方法
.applyMatrix4 ( matrix : Matrix4 ) : this
matrix - 将被应用的Matrix4矩阵。
使用所传入的Matrix4矩阵来对球进行变换。
.clampPoint ( point : Vector3, target : Vector3 ) : Vector3
point - Vector3 将要夹取的点。
target — 结果将被复制到这个Vector3中。
从球中夹取一个点。若这一点位于球外,则将会夹取到该点球边缘最近的点。已位于球中的点将不会受到影响。
.clone () : Sphere
返回一个新的球,新的球与这个球具有相同的center和radius。
.containsPoint ( point : Vector3 ) : Boolean
point - Vector3 要被检查的点
检查球体中是否包含所传入的point点,包括球的表面。
.copy ( sphere : Sphere ) : this
复制所传入的球的center和radius到这个球上。
.distanceToPoint ( point : Vector3 ) : Float
返回球的边界到所传入的point点的最近距离。 若这个点位于球内,则距离将为负值。
.expandByPoint ( point : Vector3 ) : this
point - Vector3 将被包含在球内的点
扩展该球的边界以包含此点 point。
.isEmpty () : Boolean
检查球是否为空(球半径为负值)。半径为 0 的球体仅包含其中心点,并不会被视为空。
.makeEmpty () : this
将该球修改为空,即中心点 center 为 (0,0,0),半径 radius 为 -1。
.equals ( sphere : Sphere ) : Boolean
检查这两个球的球心与半径是否相等。
.getBoundingBox ( target : Box3 ) : Box3
target — 结果将被复制到这个Box3中。
返回这个球的Minimum Bounding Box(最小包围盒)。
.intersectsBox ( box : Box3 ) : Boolean
box - 将被用于测试是否与这个球有交集的Box3。
检测这个球与所传入的box是否有交集。
.intersectsPlane ( plane : Plane ) : Boolean
plane - 将被用于测试是否与这个球有交集的Plane。
检测这个球与所传入的plane是否有交集。
.intersectsSphere ( sphere : Sphere ) : Boolean
sphere - 将被用于测试是否与这个球有交集的Sphere。
检测两球之间是否有交集。
.set ( center : Vector3, radius : Float ) : this
center - 球心位置。
radius - 球的半径。
设置球的center和radius属性。
请注意此,方法使用复制的方式来设置中心值。
.setFromPoints ( points : Array, optionalCenter : Vector3 ) : this
points - 一个包含有Vector3位置的Array。
optionalCenter - 可选, Vector3 球心位置。
计算一个points数组(中的点)的最小边界球。如果给定了optionalCenter,则它将被用作该球的球心; 否则,环绕points的包围盒的轴心将通过计算来得到。
.translate ( offset : Vector3 ) : this
使用所给定Vector3 offset(偏移量)平移球心。
.union ( sphere : Sphere ) : this
sphere - 将与该球体即将结合的边界球体。
扩展此球体以包含原始球体和给定球体。
更多建议: