Class: GeoMath

mapray. GeoMath

数学関連の関数または定数を定義するユーティリティークラスである。

このクラスは static メンバーしか持たない。


new GeoMath()

数学ユーティリティー

Source:
See:

Members


<static, constant> DEGREE :number

1度に対応するラジアンの数値

この数値は π / 180 である。

度数を DEGREE で掛け合せることによってラジアンに変換することができる。

Type:
  • number
Source:

<static, constant> EARTH_RADIUS :number

地球の半径

Inou 球面座標系で定義された、地球の半径 (Meters) である。

Type:
  • number
Source:

<static, constant> LOG2PI :number

log2(π)

Type:
  • number
Source:

Methods


<static> clamp(x, min, max)

値を指定区間内に制限

Parameters:
Name Type Description
x number

min number

最小値

max number

最大値

Source:
Returns:

min <= x <= max のとき x, x < min のとき min, x > max のとき max

Type
number

<static> copyMatrix(src, dst)

行列を代入

src を dst に代入する。

Parameters:
Name Type Description
src mapray.Matrix

代入元

dst mapray.Matrix

代入先

Source:
Returns:

dst

Type
mapray.Matrix

<static> copyVector2(src, dst)

2 次ベクトルを代入

src を dst に代入する。

Parameters:
Name Type Description
src mapray.Vector2

代入元

dst mapray.Vector2

代入先

Source:
Returns:

dst

Type
mapray.Vector2

<static> copyVector3(src, dst)

3 次ベクトルを代入

src を dst に代入する。

Parameters:
Name Type Description
src mapray.Vector3

代入元

dst mapray.Vector3

代入先

Source:
Returns:

dst

Type
mapray.Vector3

<static> copyVector4(src, dst)

4 次ベクトルを代入

src を dst に代入する。

Parameters:
Name Type Description
src mapray.Vector4

代入元

dst mapray.Vector4

代入先

Source:
Returns:

dst

Type
mapray.Vector4

<static> createMatrix( [mat])

行列オブジェクトを作成

mat を複製する。ただし mat を省略したときは、すべての要素が 0 の行列を生成する。

Parameters:
Name Type Argument Description
mat mapray.Matrix <optional>

入力行列

Source:
Returns:

新しい行列

Type
mapray.Matrix

<static> createVector2( [vec])

2 次ベクトルの生成

vec を複製して 2 次ベクトルを生成する。ただし vec を省略したときは、すべての要素が 0 のベクトルを生成する。

Parameters:
Name Type Argument Description
vec mapray.Vector2 <optional>

入力ベクトル

Source:
Returns:

新しいベクトル

Type
mapray.Vector2

<static> createVector3( [vec])

3 次ベクトルの生成

vec を複製して 3 次ベクトルを生成する。ただし vec を省略したときは、すべての要素が 0 のベクトルを生成する。

Parameters:
Name Type Argument Description
vec mapray.Vector3 <optional>

入力ベクトル

Source:
Returns:

新しいベクトル

Type
mapray.Vector3

<static> createVector4( [vec])

4 次ベクトルの生成

vec を複製して 4 次ベクトルを生成する。ただし vec を省略したときは、すべての要素が 0 のベクトルを生成する。

Parameters:
Name Type Argument Description
vec mapray.Vector4 <optional>

入力ベクトル

Source:
Returns:

新しいベクトル

Type
mapray.Vector4

<static> cross3(a, b, dst)

3次ベクトルの外積を計算

Parameters:
Name Type Description
a mapray.Vector3

左のベクトル

b mapray.Vector3

右のベクトル

dst mapray.Vector3

a と b の外積を代入するベクトル

Source:
Returns:

dst

Type
mapray.Vector3

<static> dot3(a, b)

3 次ベクトルの内積を計算

Parameters:
Name Type Description
a mapray.Vector3

左のベクトル

b mapray.Vector3

右のベクトル

Source:
Returns:

a と b の内積

Type
number

<static> frustum_matrix(left, right, bottom, top, nearVal, farVal, dst)

座標変換行列を計算 (視点座標系 → クリップ同次座標系)

Parameters:
Name Type Description
left number
right number
bottom number
top number
nearVal number
farVal number
dst mapray.Matrix

結果を代入する行列

Source:
See:
Returns:

dst

Type
mapray.Matrix

<static> gocs_to_iscs(src, dst)

地心直交座標を Inou 球面座標に変換

Parameters:
Name Type Description
src mapray.Vector3

入力 GOCS 座標 (Meters)

dst object

出力 ISCS 座標

Properties
Name Type Description
latitude number

緯度 (Degrees)

longitude number

経度 (Degrees)

height number

高度 (Meters)

Deprecated:
Source:
Returns:

dst

Type
object

<static> gudermannian(x)

グーデルマン関数

Parameters:
Name Type Description
x number

数値

Source:
Returns:

gd( x )

Type
number

<static> inverse_A(mat, dst)

逆行列を計算 (アフィン変換)

Parameters:
Name Type Description
mat mapray.Matrix

行列

dst mapray.Matrix

結果を代入する行列

Source:
Returns:

dst

Type
mapray.Matrix

<static> invGudermannian(x)

逆グーデルマン関数

Parameters:
Name Type Description
x number

数値

Source:
Returns:

gd-1( x )

Type
number

<static> iscs_to_gocs_matrix(position, dst)

座標変換行列を計算 (Inou 球面座標系 → 地心直交座標系)

原点が position の直交座標系 (LOCS) から地心直交座標系 (GOCS) に変換する行列を計算する。

position.height + GeoMath.EARTH_RADIUS > 0 かつ position.latitude == 0 のとき、LOCS の Z 軸は上方向、Y 軸は北方向、X 軸は東方向となる。

Parameters:
Name Type Description
position object

位置 (Inou 球面座標系)

Properties
Name Type Description
latitude number

緯度 (Degrees)

longitude number

経度 (Degrees)

height number

高度 (Meters)

dst mapray.Matrix

結果を代入する行列

Deprecated:
Source:
Returns:

dst

Type
mapray.Matrix

<static> lookat_matrix(eye, center, up, dst)

座標変換行列を計算 (右手座標系 → 視点座標系)

Parameters:
Name Type Description
eye mapray.Vector3

視点の位置

center mapray.Vector3

注視点の位置

up mapray.Vector3

上方向ベクトル

dst mapray.Matrix

結果を代入する行列

Source:
Returns:

dst

Type
mapray.Matrix

<static> mul_AA(a, b, dst)

行列の積を計算 (アフィン変換 x アフィン変換)

Parameters:
Name Type Description
a mapray.Matrix

左の行列

b mapray.Matrix

右の行列

dst mapray.Matrix

結果を代入する行列

Source:
Returns:

dst

Type
mapray.Matrix

<static> mul_GA(a, b, dst)

行列の積を計算 (一般変換 x アフィン変換)

Parameters:
Name Type Description
a mapray.Matrix

左の行列

b mapray.Matrix

右の行列

dst mapray.Matrix

結果を代入する行列

Source:
Returns:

dst

Type
mapray.Matrix

<static> mul_PzA(a, b, dst)

行列の積を計算 (投影変換 x アフィン変換)

Parameters:
Name Type Description
a mapray.Matrix

左の行列

b mapray.Matrix

右の行列

dst mapray.Matrix

結果を代入する行列

Source:
Returns:

dst

Type
mapray.Matrix

<static> normalize3(vec, dst)

3次ベクトルの正規化を計算

Parameters:
Name Type Description
vec mapray.Vector3

ベクトル

dst mapray.Vector3

正規化された値を代入するベクトル

Source:
Returns:

dst

Type
mapray.Vector3

<static> rotation_matrix(axis, angle, dst)

任意軸回りの回転行列

axis を Z 軸方向とすると、X 軸から Y 軸の方向に angle 度回転させる変換行列を返す。

Parameters:
Name Type Description
axis mapray.Vector3

回転軸 (単位ベクトル)

angle number

回転角 (Degrees)

dst mapray.Matrix

結果を代入する行列

Source:
Returns:

dst

Type
mapray.Matrix

<static> setIdentity(dst)

恒等行列を設定

Parameters:
Name Type Description
dst mapray.Matrix

結果を代入する行列

Source:
Returns:

dst

Type
mapray.Matrix

<static> transformPlane_A(mat, plane, dst)

平面ベクトルを変換 (アフィン変換)

mat には平面ベクトルを変換する行列を指定する。 位置ベクトルを変換する行列が M なら、平面ベクトルを変換する行列は M-1 を指定する。

dst には plane * mat が代入される。

Parameters:
Name Type Description
mat mapray.Matrix

変換行列

plane mapray.Vector4

平面ベクトル

dst mapray.Vector4

結果を代入するベクトル

Source:
Returns:

dst

Type
mapray.Vector4