Sun¶
太陽の基本情報を保持するクラス
Constructors¶
new Sun()¶
new Sun():
Sun
Returns¶
Properties¶
DEFAULT_ANGULAR_DIAMETER_DEGREE¶
staticreadonlyDEFAULT_ANGULAR_DIAMETER_DEGREE:0.5334=0.5334
太陽の視直径の既定値 (Degrees)。平均視直径 31.99′ = 0.5334°。
立体角は Ω = 2π(1 − cos(θ/2)) で 6.807e-5 sr になる。
SOLAR_ILLUMINANCE_LUX¶
staticreadonlySOLAR_ILLUMINANCE_LUX:128000=128000.0
大気外・法線面における基準の太陽照度 [lx]。
太陽定数 1361 W/m² に太陽スペクトルの発光効率 約 94 lm/W を掛けた値。 Sun.illuminance の 1.0 がこの照度に対応する。glTF の KHR_lights_punctual が directional light を lx で定義しているので、 他の光源と強さを比べるときはこの定数で換算する。
Accessors¶
angular_diameter_degree¶
getangular_diameter_degree():number
太陽の視直径 (Degrees)。
ディスクの見かけの大きさと、そこから導かれる立体角 (Sun.solid_angle) を決める。総フラックスは照度が担うので、視直径を大きくするとディスクは 大きく暗くなり、地表の明るさは変わらない。
See¶
Returns¶
number
illuminance¶
getilluminance():number
大気外・法線面の太陽照度 E_sun。
基準の太陽を 1.0 とする正規化値。空・空気遠近・地表・水面・太陽ディスクが すべてこの 1 つの値を読むので、変えると全体の明るさが一様に増減する。
0 以上。
See¶
Returns¶
number
illuminance_lux¶
getilluminance_lux():number
大気外・法線面の太陽照度 [lx]。
Sun.illuminance を Sun.SOLAR_ILLUMINANCE_LUX で換算した値で、 保持している実体は正規化値のほう。KHR_lights_punctual の directional light と 同じ単位なので、そちらと強さを揃えたいときに使う。
See¶
Returns¶
number
solid_angle¶
getsolid_angle():number
視直径から導かれる立体角 Ω [sr]。
ディスクの放射輝度は L = E_sun / Ω で求まる。
See¶
Returns¶
number
Methods¶
getSunDirection()¶
getSunDirection(
dst):Vector3
太陽ベクトルの情報のコピーを取得します
Parameters¶
| Parameter | Type | Description |
|---|---|---|
dst |
Vector3 |
方向(GOCS 正規化されていること) |
Returns¶
ベクトルのコピー(GOCS)
setAngularDiameterDegree()¶
setAngularDiameterDegree(
value):void
太陽の視直径を設定する。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
value |
number |
視直径 (Degrees)。0 より大きい値 |
Returns¶
void
Default Value¶
{@link Sun.DEFAULT_ANGULAR_DIAMETER_DEGREE}
setIlluminance()¶
setIlluminance(
value):void
太陽照度を設定する。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
value |
number |
照度(0 以上。基準の太陽が 1.0) |
Returns¶
void
Default Value¶
1.0
setIlluminanceLux()¶
setIlluminanceLux(
value):void
太陽照度を lx で設定する。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
value |
number |
照度 [lx](0 以上) |
Returns¶
void
Default Value¶
{@link Sun.SOLAR_ILLUMINANCE_LUX}
setSunDirection()¶
setSunDirection(
direction):void
太陽ベクトルの情報を設定します
Parameters¶
| Parameter | Type | Description |
|---|---|---|
direction |
Vector3 |
方向(GOCS 正規化されていること) |
Returns¶
void
solidAngleOf()¶
staticsolidAngleOf(angular_diameter_degree):number
視直径 θ に対する立体角 Ω = 2π(1 − cos(θ/2)) [sr]。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
angular_diameter_degree |
number |
視直径 (Degrees)。0 より大きい値 |
Returns¶
number