three.js Sphere

2023-02-16 17:46 更新

一個(gè)球由球心和半徑所定義。

構(gòu)造函數(shù)

Sphere( center : Vector3, radius : Float )

center - 球心的位置,默認(rèn)值是一個(gè)位于(0, 0, 0)的Vector3。
radius - 球的半徑,默認(rèn)值是-1。

創(chuàng)建一個(gè)新的Sphere。

屬性

.center : Vector3

A Vector3定義了球心的位置,默認(rèn)值位于(0, 0, 0)。

.radius : Float

球的半徑,默認(rèn)值為-1。

方法

.applyMatrix4 ( matrix : Matrix4 ) : this

matrix - 將被應(yīng)用的Matrix4矩陣。

使用所傳入的Matrix4矩陣來對(duì)球進(jìn)行變換。

.clampPoint ( point : Vector3, target : Vector3 ) : Vector3

point - Vector3 將要夾取的點(diǎn)。
target — 結(jié)果將被復(fù)制到這個(gè)Vector3中。

從球中夾取一個(gè)點(diǎn)。若這一點(diǎn)位于球外,則將會(huì)夾取到該點(diǎn)球邊緣最近的點(diǎn)。已位于球中的點(diǎn)將不會(huì)受到影響。

.clone () : Sphere

返回一個(gè)新的球,新的球與這個(gè)球具有相同的center和radius。

.containsPoint ( point : Vector3 ) : Boolean

point - Vector3 要被檢查的點(diǎn)

檢查球體中是否包含所傳入的point點(diǎn),包括球的表面。

.copy ( sphere : Sphere ) : this

復(fù)制所傳入的球的center和radius到這個(gè)球上。

.distanceToPoint ( point : Vector3 ) : Float

返回球的邊界到所傳入的point點(diǎn)的最近距離。 若這個(gè)點(diǎn)位于球內(nèi),則距離將為負(fù)值。

.expandByPoint ( point : Vector3 ) : this

point - Vector3 將被包含在球內(nèi)的點(diǎn)

擴(kuò)展該球的邊界以包含此點(diǎn) point。

.isEmpty () : Boolean

檢查球是否為空(球半徑為負(fù)值)。半徑為 0 的球體僅包含其中心點(diǎn),并不會(huì)被視為空。

.makeEmpty () : this

將該球修改為空,即中心點(diǎn) center 為 (0,0,0),半徑 radius 為 -1。

.equals ( sphere : Sphere ) : Boolean

檢查這兩個(gè)球的球心與半徑是否相等。

.getBoundingBox ( target : Box3 ) : Box3

target — 結(jié)果將被復(fù)制到這個(gè)Box3中。

返回這個(gè)球的Minimum Bounding Box(最小包圍盒)。

.intersectsBox ( box : Box3 ) : Boolean

box - 將被用于測試是否與這個(gè)球有交集的Box3。

檢測這個(gè)球與所傳入的box是否有交集。

.intersectsPlane ( plane : Plane ) : Boolean

plane - 將被用于測試是否與這個(gè)球有交集的Plane。

檢測這個(gè)球與所傳入的plane是否有交集。

.intersectsSphere ( sphere : Sphere ) : Boolean

sphere - 將被用于測試是否與這個(gè)球有交集的Sphere。

檢測兩球之間是否有交集。

.set ( center : Vector3, radius : Float ) : this

center - 球心位置。
radius - 球的半徑。

設(shè)置球的center和radius屬性。
請(qǐng)注意此,方法使用復(fù)制的方式來設(shè)置中心值。

.setFromPoints ( points : Array, optionalCenter : Vector3 ) : this

points - 一個(gè)包含有Vector3位置的Array。
optionalCenter - 可選, Vector3 球心位置。

計(jì)算一個(gè)points數(shù)組(中的點(diǎn))的最小邊界球。如果給定了optionalCenter,則它將被用作該球的球心; 否則,環(huán)繞points的包圍盒的軸心將通過計(jì)算來得到。

.translate ( offset : Vector3 ) : this

使用所給定Vector3 offset(偏移量)平移球心。

.union ( sphere : Sphere ) : this

sphere - 將與該球體即將結(jié)合的邊界球體。

擴(kuò)展此球體以包含原始球體和給定球體。

源代碼

src/math/Sphere.js


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)