数学ユーティリティー

数学関連の関数または定数を定義するユーティリティークラスである。 このクラスは static メンバーしか持たない。

Properties

DEGREE: number = 0.017453292519943295769

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

この数値は π / 180 である。 度数を DEGREE で掛け合せることによってラジアンに変換することができる。

EARTH_RADIUS: number = 6378137

地球の半径

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

LOG2PI: number = 1.6514961294723187980

log2(π)

_xaxis: Vector3 = ...
_yaxis: Vector3 = ...
_zaxis: Vector3 = ...

Methods

  • 値を指定区間内に制限

    Parameters

    • x: number

    • min: number

      最小値

    • max: number

      最大値

    Returns number

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

  • 2 次ベクトルを代入

    src を dst に代入する。

    Type Parameters

    • T extends Float32Array | Float64Array | [x: number, y: number, z: number, w: number] | [x: number, y: number, z: number] | [x: number, y: number]

    Parameters

    • src: Float32Array | Float64Array | [x: number, y: number, z: number, w: number] | [x: number, y: number, z: number] | [x: number, y: number]

      代入元

    • dst: T

      代入先

    Returns T

    dst

  • 3 次ベクトルを代入

    src を dst に代入する。

    Type Parameters

    • T extends Float32Array | Float64Array | [x: number, y: number, z: number, w: number] | [x: number, y: number, z: number]

    Parameters

    • src: Float32Array | Float64Array | [x: number, y: number, z: number, w: number] | [x: number, y: number, z: number]

      代入元

    • dst: T

      代入先

    Returns T

    dst

  • 行列オブジェクトを作成

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

    Parameters

    • Optional mat: Matrix

      入力行列

    Returns Matrix

    新しい行列

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

    Parameters

    • Optional vec: Vector2

      入力ベクトル

    Returns Vector2

    新しいベクトル

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

    Parameters

    • Optional vec: Vector3

      入力ベクトル

    Returns Vector3

    新しいベクトル

  • 4 次ベクトルの生成

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

    Parameters

    • Optional vec: Vector4

      入力ベクトル

    Returns Vector4

    新しいベクトル

  • 2次ベクトルであるかを判定

    Parameters

    • vec: Float32Array | Float64Array | [x: number, y: number, z: number, w: number] | [x: number, y: number, z: number] | [x: number, y: number]

    Returns vec is Vector2

  • 3次ベクトルであるかを判定

    Parameters

    • vec: Float32Array | Float64Array | [x: number, y: number, z: number, w: number] | [x: number, y: number, z: number] | [x: number, y: number]

    Returns vec is Vector3

  • 4次ベクトルであるかを判定

    Parameters

    • vec: Float32Array | Float64Array | [x: number, y: number, z: number, w: number] | [x: number, y: number, z: number] | [x: number, y: number]

    Returns vec is Vector4

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

    原点が position の直交座標系 (LOCS) から地心直交座標系 (GOCS) に変換する行列を計算する。 position.height + GeoMath.EARTH_RADIUS > 0 かつ position.latitude == 0 のとき、LOCS の Z 軸は上方向、Y 軸は北方向、X 軸は東方向となる。

    Parameters

    • position: GeoPointData

      位置 (Inou 球面座標系)

    • dst: Matrix

      結果を代入する行列

    Returns Matrix

    dst

    Deprecated

    mapray.GeoPoint.getMlocsToGocsMatrix の使用を推奨

  • 平面ベクトルの正規化を計算

    法線部 (最初の 3 要素) の長さが 1 になるように平面ベクトル plane を正規化し、dst に代入する。

    Parameters

    • plane: Vector4

      平面ベクトル

    • dst: Vector4

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

    Returns Vector4

    dst

  • 任意軸回りの回転行列

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

    Parameters

    • axis: Vector3

      回転軸 (単位ベクトル)

    • angle: number

      回転角 (Degrees)

    • dst: Matrix

      結果を代入する行列

    Returns Matrix

    dst

  • 方向を変換 (アフィン変換)

    方向 dir を変換行列 mat により座標変換して dst に代入する。

    mat は dir が想定する座標系から、ある座標系へ方向ベクトルを変換するための行列である。

    Parameters

    Returns Vector3

    dst

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

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

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

    Parameters

    • mat: Matrix

      変換行列

    • plane: Vector4

      平面ベクトル

    • dst: Vector4

      結果を代入するベクトル

    Returns Vector4

    dst

  • 位置を変換 (アフィン変換)

    位置 pos を変換行列 mat により座標変換して dst に代入する。

    mat は pos が想定する座標系から、ある座標系へ位置ベクトルを変換するための行列である。

    Type Parameters

    • T extends Float32Array | Float64Array | [x: number, y: number, z: number] | [x: number, y: number]

    Parameters

    • mat: Matrix

      変換行列

    • pos: Float32Array | Float64Array | [x: number, y: number, z: number] | [x: number, y: number]

      位置

    • dst: T

      結果を代入するベクトル

    Returns T

    dst