コンテンツにスキップ

Sun

太陽の基本情報を保持するクラス

Constructors

new Sun()

new Sun(): Sun

Returns

Sun

Properties

DEFAULT_ANGULAR_DIAMETER_DEGREE

static readonly DEFAULT_ANGULAR_DIAMETER_DEGREE: 0.5334 = 0.5334

太陽の視直径の既定値 (Degrees)。平均視直径 31.99′ = 0.5334°。

立体角は Ω = 2π(1 − cos(θ/2)) で 6.807e-5 sr になる。


SOLAR_ILLUMINANCE_LUX

static readonly SOLAR_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

get angular_diameter_degree(): number

太陽の視直径 (Degrees)。

ディスクの見かけの大きさと、そこから導かれる立体角 (Sun.solid_angle) を決める。総フラックスは照度が担うので、視直径を大きくするとディスクは 大きく暗くなり、地表の明るさは変わらない。

See

Sun.setAngularDiameterDegree

Returns

number


illuminance

get illuminance(): number

大気外・法線面の太陽照度 E_sun。

基準の太陽を 1.0 とする正規化値。空・空気遠近・地表・水面・太陽ディスクが すべてこの 1 つの値を読むので、変えると全体の明るさが一様に増減する。

0 以上。

See

Sun.setIlluminance

Returns

number


illuminance_lux

get illuminance_lux(): number

大気外・法線面の太陽照度 [lx]。

Sun.illuminance を Sun.SOLAR_ILLUMINANCE_LUX で換算した値で、 保持している実体は正規化値のほう。KHR_lights_punctual の directional light と 同じ単位なので、そちらと強さを揃えたいときに使う。

See

Sun.setIlluminanceLux

Returns

number


solid_angle

get solid_angle(): number

視直径から導かれる立体角 Ω [sr]。

ディスクの放射輝度は L = E_sun / Ω で求まる。

See

Sun.setAngularDiameterDegree

Returns

number

Methods

getSunDirection()

getSunDirection(dst): Vector3

太陽ベクトルの情報のコピーを取得します

Parameters

Parameter Type Description
dst Vector3 方向(GOCS 正規化されていること)

Returns

Vector3

ベクトルのコピー(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()

static solidAngleOf(angular_diameter_degree): number

視直径 θ に対する立体角 Ω = 2π(1 − cos(θ/2)) [sr]。

Parameters

Parameter Type Description
angular_diameter_degree number 視直径 (Degrees)。0 より大きい値

Returns

number