Math - stingray.Math ネームスペース リファレンス - Stingray Lua API リファレンス

stingray.Math ネームスペース リファレンス

説明

Math オブジェクトには、いくつかの役立つ包括的な数学関数が含まれています。

関数

パラメータ

pose :

stingray.Matrix4x4

ボックスの中心の位置および回転です。

half_dimensions :

stingray.Vector3

ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。

frustum_planes :

any(stingray.Vector3, number)*

フラスタムの 6 つのプレーン。Vector3number パラメータ、フラスタム プレーンの外側を指す法線ベクトルとこの法線の沿ったプレーンの位置にある番号のペアとして示します。

any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。
* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。

frustum_planes :

any(stingray.Vector3, number)*

フラスタムの 8 つのコーナー。近接平面が ABCD、遠方平面が EFGH で、AE、BF、CG、DH が側面エッジになるように指定します。

any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。
* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。
戻り値

boolean

ボックスが完全にフラスタムの内側にある、または交差している場合は true を返し、完全にフラスタムの外側にある場合は false を返します。

フラスタムはその 8 つのコーナーと 6 つのプレーンによって指定されます。それぞれは、プレーンの法線を定義する(フラスタムから外側を向く) Vector3 値と法線に沿ったプレーンの位置を指定する浮動小数点値のペアです。

パラメータ

pose :

stingray.Matrix4x4

ボックスの中心の位置および回転です。

half_dimensions :

stingray.Vector3

ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。

n :

stingray.Vector3

フラスタムから外側を向く、フラスタムの 1 つのプレーンの法線です。

o :

number

法線 n に沿ったフラスタム プレーンの位置です。

additional_planes :

any(stingray.Vector3, number)*

n および o と同様に、より多くの Vector3 および number パラメータのペアを追加することで、フラスタムにより多くのプレーンを設定できます。

any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。
* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。
戻り値

boolean

ボックスが完全にフラスタムの内側にある場合は true、それ以外の場合は false を返します。

フラスタムは一連のプレーンによって指定されます。それぞれは、プレーンの法線を定義する(フラスタムから外側をむく) Vector3 の値と法線に沿ってプレーンの位置を指定する浮動小数点値のペアです。フラスタムに複数のプレーンを設定するため、これらのペアを必要な数だけ指定することができます。

パラメータ

inputs :

number*

テストする number 値の数です。

* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。
戻り値

boolean

すべての入力が有効な数である場合は true、いずれかのコンポーネントが #NaN または #INF の場合は false が返されます。

パラメータ

pose :

stingray.Matrix4x4

ボックスの中心の位置および回転です。

half_dimensions :

stingray.Vector3

ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。

additional_boxes :

any(stingray.Matrix4x4, stingray.Vector3)*

pose および half_dimensions と同様に、Matrix4x4 および Vector3 パラメータのより多くのペアを追加することで、より多くの結合するボックスを設定できます。

any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。
* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。
戻り値

stingray.Matrix4x4

結合されたボックスの位置および回転です。

stingray.Vector3

ローカルの右、上、および前方軸に沿った、結合されたボックスの中心からそのサーフェスの中心までの距離です。

各ボックスはその位置および回転を含む Matrix4x4 および寸法を含む Vector3 という値のペアによって指定されます。これらのペアは必要な数だけ入力できます。

結果のボックスは、入力内の最初のボックスと同じ軸を持つことになります。つまり、この関数は、囲むための最小のバウンディング ボックスを返しません。

パラメータ

seed :

integer

乱数を生成するためのシードです。

first_bound :

integer?

生成された数の最初のバウンドです。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

second_bound :

integer?

生成された数の 2 番目のバウンドです。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

integer

新しいシード値です。

number

生成された乱数です。

再現性ある一連の乱数をクエリーする場合は、stingray.Math.random() の代わりに、この関数を使用します。

  • パラメータを指定しない場合、生成される数は 0 から 1 の間の浮動小数点の値になります。
  • first_bound のみを指定すると、生成される数は 1 から first_bound の間の整数になります(両端の値を含む)。
  • first_boundsecond_bound の両方を指定すると、生成される数は first_bound から second_bound の間の整数になります(両端の値を含む)。
パラメータ

point :

stingray.Vector3

テストする点です。

pose :

stingray.Matrix4x4

ボックスの中心の位置および回転です。

half_dimensions :

stingray.Vector3

ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。

戻り値

boolean

点がボックス内部にある場合は true、それ以外の場合は false を返します。

パラメータ

first_bound :

integer?

生成された数の最初のバウンドです。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

second_bound :

integer?

生成された数の 2 番目のバウンドです。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

number

生成された乱数です。

この関数は、標準の Lua math.random() 関数とほとんど同様に動作します。標準の Lua 乱数ジェネレータではなく、Stingray に組み込まれている乱数ジェネレータを使用する点のみが異なります。

  • パラメータを指定しない場合、生成される数は 0 から 1 の間の浮動小数点の値になります。
  • first_bound のみを指定すると、生成される数は 1 から first_bound の間の整数になります(両端の値を含む)。
  • first_boundsecond_bound の両方を指定すると、生成される数は first_bound から second_bound の間の整数になります(両端の値を含む)。
パラメータ

from :

stingray.Vector3

線の開始点です。

dir :

stingray.Vector3

線の方向です。

pose :

stingray.Matrix4x4

ボックスの中心の位置および回転です。

half_dimensions :

stingray.Vector3

ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。

戻り値

number

線がボックスの内部から開始するか外部から開始するかに関わらず、線の開始点からボックスのサーフェスに対して最初に衝突する点までの距離です。線がボックスに衝突しない場合は、-1 を返します。