[前へ]
[目次へ]
[次へ]
Math (ネイティブネームクラス)
このクラスは数学関数を扱うクラスです。
このクラスはネームクラスです。
ネームクラスは全てがクラスメソッドとクラス共有変数で構成され、
using
でグローバル名前空間に展開できます。
また、原則としてインスタンスを作成する必要はありません。
●継承
このクラスは継承をしていません。
●インターフェイスとインターフェイスメソッド
このクラスはインターフェイスの実装宣言をしていません。
●クラスメソッド
名前
概要
Sin
サインを求めます
Cos
コサインを求めます
Tan
タンジェントを求めます
Asin
アークサインを求めます
Acos
アークコサインを求めます
Atan
アークタンジェントを求めます
Atan2
アークタンジェントを求めます
SinR
r計算付きでサインを求めます
CosR
r計算付きでコサインを求めます
AsinR
r計算付きでアークサインを求めます
AcosR
r計算付きでアークコサインを求めます
Log
対数を求めます
Loge
eを底とする対数を求めます
Log10
10を底とする対数を求めます
Sqrt
平方根を求めます
Cbrt
立方根を求めます
Exp
eを底とする指数を求めます
Pow
べき乗を求めます
Sinh
ハイパーボリックサインを求めます
Cosh
ハイパーボリックコサインを求めます
Tanh
ハイパーボリックタンジェントを求めます
GCD
最大公約数を求めます
LCM
最小公倍数を求めます
Deg2Rad
度単位をラジアン単位に変換します
Rad2Deg
ラジアン単位を度単位に変換します
Distance
原点からのユークリッド距離を求めます
NormalizeAngle
ラジアン単位の角度を正規化します
DiffAngle
ラジアン単位の角度差を求めます
Angle2XDir
ラジアン単位の角度のX軸方向を求めます
Angle2YDir
ラジアン単位の角度のY軸方向を求めます
AdjustSin
8方向補正付きのサインを求めます
AdjustCos
8方向補正付きのコサインを求めます
AdjustTan
8方向補正付きのタンジェントを求めます
AdjustSinR
r計算付きで8方向補正付きのサインを求めます
AdjustCosR
r計算付きで8方向補正付きのコサインを求めます
SinReverse
sinを三角波を基準に反転した関数
CosReverse
cosを三角波を基準に反転した関数
SinReverseR
r計算付きでsinを三角波を基準に反転した関数
CosReverseR
r計算付きでcosを三角波を基準に反転した関数
AdjustSinReverse
8方向補正付きのsinを三角波を基準に反転した関数
AdjustCosReverse
8方向補正付きのcosを三角波を基準に反転した関数
AdjustSinReverseR
r計算付きで8方向補正付きのsinを三角波を基準に反転した関数
AdjustCosReverseR
r計算付きで8方向補正付きのcosを三角波を基準に反転した関数
QuadraticEquation
二次方程式を解きます
QuadraticEquationPlusOnly
二次方程式を解き、0以上の解だけを返します
Collide1D
1次元の衝突計算を行います
Collide2D
2次元の衝突計算を行います
AngleInRange
指定した角度が指定範囲内にあるか判定します
PointInCircle
指定した点が指定した円内にあるか判定します
PointInRect
指定した点が指定した矩形内にあるか判定します
LineInCircle
指定した線分が指定した円内にあるか判定します
LineInRect
指定した線分が指定した矩形内にあるか判定します
CircleInCircle
指定した円が指定した円内にあるか判定します
CircleInRect
指定した円が指定した矩形内にあるか判定します
RectInCircle
指定した矩形が指定した円内にあるか判定します
RectInRect
指定した矩形が指定した矩形内にあるか判定します
LPNearest
指定した線分上の、指定した点との最接近座標を求めます
LLIntersection
指定した二本の線分の交点を求めます
LvCOverlap
指定した線分と指定した円に重複する部分があるか判定します
LCOverlap
指定した線分と指定した円に重複する部分があるか判定します
LROverlap
指定した線分と指定した矩形に重複する部分があるか判定します
CCOverlap
指定した二つの円に重複する部分があるか判定します
CROverlap
指定した円と指定した矩形に重複する部分があるか判定します
RROverlap
指定した二つの矩形に重複する部分があるか判定します
AAOverlap
指定した二つの角度範囲に重複する部分があるか判定します
CalcAngleRangeInSightRC
原点から指定した矩形が見える角度範囲を求めます
CalcAngleRangeInSightTR
原点から指定した三角形が見える角度範囲を求めます
CalcAngleRangeInSightQR
原点から指定した四角形が見える角度範囲を求めます
CalcAngleRangeInSightCR
原点から指定した円が見える角度範囲を求めます
CalcLineGrid
指定した線分が通過するグリッドの座標リストを求めます
CalcCircumferenceGrid
指定した円弧が通過するグリッドの座標リストを求めます
PPaOrthogonal
指定した点と指定した角度で移動する点の最接近座標を求めます
PLaIntersection
指定した点と指定した角度で移動する線分が接触するか判定します
PCaIntersection
指定した点と指定した角度で移動する円が接触するか判定します
PRaIntersection
指定した点と指定した角度で移動する矩形が接触するか判定します
LPaIntersection
指定した線分と指定した角度で移動する点が接触するか判定します
LLaIntersection
指定した線分と指定した角度で移動する線分が接触するか判定します
LCaIntersection
指定した線分と指定した角度で移動する円が接触するか判定します
LRaIntersection
指定した線分と指定した角度で移動する矩形が接触するか判定します
CPaIntersection
指定した円と指定した角度で移動する点が接触するか判定します
CLaIntersection
指定した円と指定した角度で移動する線分が接触するか判定します
CCaIntersection
指定した円と指定した角度で移動する円が接触するか判定します
CRaIntersection
指定した円と指定した角度で移動する矩形が接触するか判定します
RPaIntersection
指定した矩形と指定した角度で移動する点が接触するか判定します
RLaIntersection
指定した矩形と指定した角度で移動する線分が接触するか判定します
RCaIntersection
指定した矩形と指定した角度で移動する円が接触するか判定します
RRaIntersection
指定した矩形と指定した角度で移動する矩形が接触するか判定します
PsPvAim
指定したベクトルで移動する点を指定した速度で動く点で衝突させるための角度を求めます
PaPvAim
指定したベクトルで移動する点を指定した角度で動く点で衝突させるための速度を求めます
PPvtAim
指定したベクトルで移動する点を指定した時間後に衝突させるための角度と速度を求めます
Min
指定した全引数を整数で比較し、その最小値を返します
Max
指定した全引数を整数で比較し、その最大値を返します
MinF
指定した全引数を小数で比較し、その最小値を返します
MaxF
指定した全引数を小数で比較し、その最大値を返します
Top1Bit
1になっている最上位ビットの位置を返します
Bottom1Bit
1になっている最下位ビットの位置を返します
Count1Bit
1になっているビット数を返します
RateI
指定値の値域内での比率を求めます
RateF
指定値の値域内での比率を求めます
●クラスメンバメソッド
このクラスはクラスメンバメソッドを持っていません。
●クラス共有変数
名前
概要
E
ネイピア数
PI
円周率
HALFPI
円周率/2
PIx2
円周率*2
INFINITY
無限大
●インスタンス変数
このクラスはインスタンス変数を持っていません。
●C++レベル追加情報
クラスID:
FGES_CLASSID_MATH
クラス名:
FGESNC_Math
Math::Sin
public static
Float
Sin(
IFloat
rad_angle)
rad_angle
のサインを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度のサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::Cos
public static
Float
Cos(
IFloat
rad_angle)
rad_angle
のコサインを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度のコサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::Tan
public static
Float
Tan(
IFloat
rad_angle)
rad_angle
のタンジェントを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度のタンジェントを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::Asin
public static
Float
Asin(
IFloat
val)
val
のアークサインを求めて返します。
戻り値はラジアン単位です。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:指定した値のアークサイン(ラジアン単位)を返します。
IFloat
val
:計算する値
先頭へ
Math::Acos
public static
Float
Acos(
IFloat
val)
val
のアークコサインを求めて返します。
戻り値はラジアン単位です。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:指定した値のアークコサイン(ラジアン単位)を返します。
IFloat
val
:計算する値
先頭へ
Math::Atan
public static
Float
Atan(
IFloat
val)
val
のアークタンジェントを求めて返します。
戻り値はラジアン単位です。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:指定した値のアークタンジェント(ラジアン単位)を返します。
IFloat
val
:計算する値
先頭へ
Math::Atan2
public static
Float
Atan2(
IFloat
y,
IFloat
x)
指定した座標のアークタンジェントを求めて返します。
戻り値はラジアン単位です。
このメソッドは
x
が0でも動作します。引数列が
y,x
であることに注意してください。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した座標のアークタンジェント(ラジアン単位)を返します。
IFloat
y
:計算する座標のY座標
IFloat
x
:計算する座標のX座標
先頭へ
Math::SinR
public static
Float
SinR(
IFloat
rad_angle,
IFloat
r)
rad_angle
のサインを求めて、
r
を乗算して返します。
rad_angle
はラジアン単位です。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度のサインに半径を乗算して返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
IFloat
r
:半径
先頭へ
Math::CosR
public static
Float
CosR(
IFloat
rad_angle,
IFloat
r)
rad_angle
のコサインを求めて、
r
を乗算して返します。
rad_angle
はラジアン単位です。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度のコサインに半径を乗算して返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
IFloat
r
:半径
先頭へ
Math::AsinR
public static
Float
AsinR(
IFloat
val,
IFloat
r)
(val/r).Clamp(-1.0,1.0)
のアークサインを求めて返します。
戻り値はラジアン単位です。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した値のアークサイン(ラジアン単位)を返します。
IFloat
val
:計算する値
IFloat
r
:半径
先頭へ
Math::AcosR
public static
Float
AcosR(
IFloat
val,
IFloat
r)
(val/r).Clamp(-1.0,1.0)
のアークコサインを求めて返します。
戻り値はラジアン単位です。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した値のアークコサイン(ラジアン単位)を返します。
IFloat
val
:計算する値
IFloat
r
:半径
先頭へ
Math::Log
public static
Float
Log(
IFloat
val,
IFloat
base)
val
の
base
を底とする対数を求めて返します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
IFloat
base
:底
先頭へ
Math::Loge
public static
Float
Loge(
IFloat
val)
val
のネイピア数を底とする対数を求めて返します。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
先頭へ
Math::Log10
public static
Float
Log10(
IFloat
val)
val
の10を底とする対数を求めて返します。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
先頭へ
Math::Sqrt
public static
Float
Sqrt(
IFloat
val)
val
の平方根を求めて返します。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
先頭へ
Math::Cbrt
public static
Float
Cbrt(
IFloat
val)
val
の立方根を求めて返します。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
先頭へ
Math::Exp
public static
Float
Exp(
IFloat
val)
val
のネイピア数を底とする指数を求めて返します。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
先頭へ
Math::Pow
public static
Float
Pow(
IFloat
val,
IFloat
exp)
val
の
exp
乗を求めて返します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
IFloat
exp
:指数
先頭へ
Math::Sinh
public static
Float
Sinh(
IFloat
val)
val
のハイパーボリックサインを求めて返します。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
先頭へ
Math::Cosh
public static
Float
Cosh(
IFloat
val)
val
のハイパーボリックコサインを求めて返します。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
先頭へ
Math::Tanh
public static
Float
Tanh(
IFloat
val)
val
のハイパーボリックタンジェントを求めて返します。
このメソッドは最初に
val
から
INativeFloat
による取得を試みます。
これに失敗した場合、
val.Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
val
:計算する値
先頭へ
Math::GCD
public static
Integer
GCD(
IInteger
m,
IInteger
n)
m
と
n
の最大公約数(両方を割り切れる最大の整数)を求めて返します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:計算結果を返します。
IInteger
m
:最大公約数を求める値1
IInteger
n
:最大公約数を求める値2
先頭へ
Math::LCM
public static
Integer
LCM(
IInteger
m,
IInteger
n)
m
と
n
の最小公倍数(両方の倍数かつ最小の正の整数)を求めて返します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:計算結果を返します。
IInteger
m
:最小公倍数を求める値1
IInteger
n
:最小公倍数を求める値2
先頭へ
Math::Deg2Rad
public static
Float
Deg2Rad(
IFloat
degree)
degree
(度単位)の値をラジアン単位に変換して返します。
このメソッドは最初に
degree
から
INativeFloat
による取得を試みます。
これに失敗した場合、
degree.Get
を呼び出します。
戻り値:変換結果を返します。
IFloat
degree
:変換する角度(度単位)
先頭へ
Math::Rad2Deg
public static
Float
Rad2Deg(
IFloat
radian)
radian
(ラジアン単位)の値を度単位に変換して返します。
このメソッドは最初に
radian
から
INativeFloat
による取得を試みます。
これに失敗した場合、
radian.Get
を呼び出します。
戻り値:変換結果を返します。
IFloat
radian
:変換する角度(ラジアン単位)
先頭へ
Math::Distance
public static
Float
Distance(
IFloat
x,
IFloat
y)
原点から指定した座標までのユークリッド距離を求めます。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:計算結果を返します。
IFloat
x
:求めるX座標
IFloat
y
:求めるY座標
先頭へ
Math::NormalizeAngle
public static
Float
NormalizeAngle(
IFloat
rad_angle)
rad_angle
をラジアン単位の角度として、0〜2PIの範囲に正規化します。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:処理結果を返します。
IFloat
rad_angle
:正規化する角度
先頭へ
Math::DiffAngle
public static
Float
DiffAngle(
IFloat
rad_origin,
IFloat
rad_value)
rad_origin
を基準とした時の
rad_value
の角度をラジアン単位の角度として求めます。
このメソッドは-PI〜PIの範囲で角度差を返します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:
(rad_value-rad_origin)
を-PI〜PIの範囲で正規化して返します。
IFloat
rad_origin
:基準となる角度
IFloat
rad_value
:計算する角度
先頭へ
Math::Angle2XDir
public static
Integer
Angle2XDir(
IFloat
rad_angle)
rad_angle
をラジアン単位の角度として、X軸の進行方向を-1、0、1のいずれかで返します。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度に対応するX軸の進行方向を-1、0、1のいずれかで返します。
IFloat
rad_angle
:進行方向を求める角度
先頭へ
Math::Angle2YDir
public static
Integer
Angle2YDir(
IFloat
rad_angle)
rad_angle
をラジアン単位の角度として、Y軸の進行方向を-1、0、1のいずれかで返します。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度に対応するY軸の進行方向を-1、0、1のいずれかで返します。
IFloat
rad_angle
:進行方向を求める角度
先頭へ
Math::AdjustSin
public static
Float
AdjustSin(
IFloat
rad_angle)
rad_angle
のサインを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度の補正付きサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::AdjustCos
public static
Float
AdjustCos(
IFloat
rad_angle)
rad_angle
のコサインを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度の補正付きコサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::AdjustTan
public static
Float
AdjustTan(
IFloat
rad_angle)
rad_angle
のタンジェントを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度の補正付きタンジェントを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::AdjustSinR
public static
Float
AdjustSinR(
IFloat
rad_angle,
IFloat
r)
rad_angle
のサインを求めて、
r
を乗算して返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度の補正付きサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
IFloat
r
:半径
先頭へ
Math::AdjustCosR
public static
Float
AdjustCosR(
IFloat
rad_angle,
IFloat
r)
rad_angle
のコサインを求めて、
r
を乗算して返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度の補正付きコサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
IFloat
r
:半径
先頭へ
Math::SinReverse
public static
Float
SinReverse(
IFloat
rad_angle)
rad_angle
の反転サインを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度の反転サインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::CosReverse
public static
Float
CosReverse(
IFloat
rad_angle)
rad_angle
の反転コサインを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度の反転コサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::SinReverseR
public static
Float
SinReverseR(
IFloat
rad_angle,
IFloat
r)
rad_angle
の反転サインを求めて、
r
を乗算して返します。
rad_angle
はラジアン単位です。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度の反転サインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
IFloat
r
:半径
先頭へ
Math::CosReverseR
public static
Float
CosReverseR(
IFloat
rad_angle,
IFloat
r)
rad_angle
の反転コサインを求めて、
r
を乗算して返します。
rad_angle
はラジアン単位です。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度の反転コサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
IFloat
r
:半径
先頭へ
Math::AdjustSinReverse
public static
Float
AdjustSinReverse(
IFloat
rad_angle)
rad_angle
の反転サインを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度の補正付き反転サインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::AdjustCosReverse
public static
Float
AdjustCosReverse(
IFloat
rad_angle)
rad_angle
の反転コサインを求めて返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に
rad_angle
から
INativeFloat
による取得を試みます。
これに失敗した場合、
rad_angle.Get
を呼び出します。
戻り値:指定した角度の補正付き反転コサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
先頭へ
Math::AdjustSinReverseR
public static
Float
AdjustSinReverseR(
IFloat
rad_angle,
IFloat
r)
rad_angle
の反転サインを求めて
r
を乗算して返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度の補正付き反転サインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
IFloat
r
:半径
先頭へ
Math::AdjustCosReverseR
public static
Float
AdjustCosReverseR(
IFloat
rad_angle,
IFloat
r)
rad_angle
の反転コサインを求めて
r
を乗算して返します。
rad_angle
はラジアン単位です。
このメソッドは
rad_angle
が45度単位の角度に近い場合、近傍の45度単位の角度丁度に補正します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度の補正付き反転コサインを返します。
IFloat
rad_angle
:計算する角度(ラジアン単位)
IFloat
r
:半径
先頭へ
Math::QuadraticEquation
public static
Integer
QuadraticEquation(
IFloat
a,
IFloat
b,
IFloat
c,
editable
INativeFloat
? x1,editable
INativeFloat
? x2=NULL)
二次方程式の解の公式を使って二次方程式を解きます。
このメソッドは解が2個ある場合は解1<解2になるように返します。
解が0〜1個の場合、対応する解がない出力値に意味はありません。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:検出され、出力された解の数を0〜2で返します。
IFloat
a
:x二乗係数。
IFloat
b
:x係数。
IFloat
c
:定数項。
editable
INativeFloat
? x1
:[出力]解1を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeFloat
? x2=NULL
:[出力]解2を出力するオブジェクト。
空参照を指定した場合は無視します。
先頭へ
Math::QuadraticEquationPlusOnly
public static
Integer
QuadraticEquationPlusOnly(
IFloat
a,
IFloat
b,
IFloat
c,
editable
INativeFloat
? x1,editable
INativeFloat
? x2=NULL)
二次方程式の解の公式を使って二次方程式を解き、0以上の解だけを返します。
このメソッドは条件を満たす解が2個ある場合は解1<解2になるように返します。
条件を満たす解が0〜1個の場合、対応する解がない出力値に意味はありません。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:検出され、出力された解の数を0〜2で返します。
IFloat
a
:x二乗係数。
IFloat
b
:x係数。
IFloat
c
:定数項。
editable
INativeFloat
? x1
:[出力]解1を出力するオブジェクト。
空参照を指定した場合は無視します。
editable
INativeFloat
? x2=NULL
:[出力]解2を出力するオブジェクト。
空参照を指定した場合は無視します。
先頭へ
Math::Collide1D
public static void Collide1D(
IFloat
m1,editable
INativeFloat
v1,
IFloat
m2,editable
INativeFloat
v2,
IFloat
e)
1次元の衝突計算を行い、それぞれの速度を更新します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
IFloat
m1
:オブジェクト1の質量
editable
INativeFloat
v1
:[入出力]オブジェクト1の速度
IFloat
m2
:オブジェクト2の質量
editable
INativeFloat
v2
:[入出力]オブジェクト2の速度
IFloat
e
:反発係数
先頭へ
Math::Collide2D
public static void Collide2D(
IFloat
m1,editable
INativeFloat
a1,editable
INativeFloat
s1,
IFloat
m2,editable
INativeFloat
a2,editable
INativeFloat
s2,
IFloat
e,
IFloat
hit_a)
2次元の衝突計算を行い、それぞれの角度と速度を更新します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
IFloat
m1
:オブジェクト1の質量
editable
INativeFloat
a1
:[入出力]オブジェクト1の角度(ラジアン単位)
editable
INativeFloat
s1
:[入出力]オブジェクト1の速度
IFloat
m2
:オブジェクト2の質量
editable
INativeFloat
a2
:[入出力]オブジェクト2の角度(ラジアン単位)
editable
INativeFloat
s2
:[入出力]オブジェクト2の速度
IFloat
e
:反発係数
IFloat
hit_a
:オブジェクト2からみたオブジェクト1との衝突角度(ラジアン単位)
先頭へ
Math::AngleInRange
public static
Bool
AngleInRange(
IFloat
rad_angle,
IFloat
rad_min,
IFloat
rad_max)
指定した角度が指定範囲内にあるか判定します。
このメソッドは角度をラジアン単位として扱い、周回している場合も考慮して処理します。
この判定は範囲の両端ともに真を返しますが、
浮動小数点演算誤差の影響を受けるため同値判定の正確性を期待してはいけません。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した角度が指定範囲内にある場合、真を返します。
IFloat
rad_angle
:判定する角度
IFloat
rad_min
:真にする角度の最低値
IFloat
rad_max
:真にする角度の最大値
先頭へ
Math::PointInCircle
public static
Bool
PointInCircle(
IFloat
ax,
IFloat
ay,
IFloat
bx,
IFloat
by,
IFloat
br)
指定した点Aが指定した円Bの領域内にあるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した点Aが指定した円Bの領域内にある場合、真を返します。
IFloat
ax
:点AのX座標
IFloat
ay
:点AのY座標
IFloat
bx
:円Bの中心X座標
IFloat
by
:円Bの中心Y座標
IFloat
br
:円Bの半径
先頭へ
Math::PointInRect
public static
Bool
PointInRect(
IFloat
ax,
IFloat
ay,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2)
指定した点Aが指定した矩形Bの領域内にあるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した点Aが指定した矩形Bの領域内にある場合、真を返します。
IFloat
ax
:点AのX座標
IFloat
ay
:点AのY座標
IFloat
bx1
:矩形BのX座標1
IFloat
by1
:矩形BのY座標1
IFloat
bx2
:矩形BのX座標2
IFloat
by2
:矩形BのY座標2
先頭へ
Math::LineInCircle
public static
Bool
LineInCircle(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx,
IFloat
by,
IFloat
br)
指定した線分Aが指定した円Bの中にあるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aが指定した円Bの中にある場合、真を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx
:円Bの中心X座標
IFloat
by
:円Bの中心Y座標
IFloat
br
:円Bの半径
先頭へ
Math::LineInRect
public static
Bool
LineInRect(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2)
指定した線分Aが指定した矩形Bの中にあるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aが指定した矩形Bの中にある場合、真を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx1
:矩形BのX座標1
IFloat
by1
:矩形BのY座標1
IFloat
bx2
:矩形BのX座標2
IFloat
by2
:矩形BのY座標2
先頭へ
Math::CircleInCircle
public static
Bool
CircleInCircle(
IFloat
ax,
IFloat
ay,
IFloat
ar,
IFloat
bx,
IFloat
by,
IFloat
br)
指定した円Aが指定した円Bの中にあるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した円Aが指定した円Bの中にある場合、真を返します。
IFloat
ax
:円Aの中心X座標
IFloat
ay
:円Aの中心Y座標
IFloat
ar
:円Aの半径
IFloat
bx
:円Bの中心X座標
IFloat
by
:円Bの中心Y座標
IFloat
br
:円Bの半径
先頭へ
Math::CircleInRect
public static
Bool
CircleInRect(
IFloat
ax,
IFloat
ay,
IFloat
ar,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2)
指定した円Aが指定した矩形Bの中にあるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した円Aが指定した矩形Bの中にある場合、真を返します。
IFloat
ax
:円Aの中心X座標
IFloat
ay
:円Aの中心Y座標
IFloat
ar
:円Aの半径
IFloat
bx1
:矩形BのX座標1
IFloat
by1
:矩形BのY座標1
IFloat
bx2
:矩形BのX座標2
IFloat
by2
:矩形BのY座標2
先頭へ
Math::RectInCircle
public static
Bool
RectInCircle(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx,
IFloat
by,
IFloat
br)
指定した矩形Aが指定した円Bの中にあるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した矩形Aが指定した円Bの中にある場合、真を返します。
IFloat
ax1
:矩形AのX座標1
IFloat
ay1
:矩形AのY座標1
IFloat
ax2
:矩形AのX座標2
IFloat
ay2
:矩形AのY座標2
IFloat
bx
:円Bの中心X座標
IFloat
by
:円Bの中心Y座標
IFloat
br
:円Bの半径
先頭へ
Math::RectInRect
public static
Bool
RectInRect(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2)
指定した矩形Aが指定した矩形Bの中にあるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した矩形Aが指定した矩形Bの中にある場合、真を返します。
IFloat
ax1
:矩形AのX座標1
IFloat
ay1
:矩形AのY座標1
IFloat
ax2
:矩形AのX座標2
IFloat
ay2
:矩形AのY座標2
IFloat
bx1
:矩形BのX座標1
IFloat
by1
:矩形BのY座標1
IFloat
bx2
:矩形BのX座標2
IFloat
by2
:矩形BのY座標2
先頭へ
Math::LPNearest
public static
Bool
LPNearest(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx,
IFloat
by,
editable
INativeFloat
? ox,editable
INativeFloat
? oy)
指定した線分上の、指定した点と最も近い座標を求めます。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:線分を直線に拡張した場合でも最接近座標が同じ場合は真を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx
:最接近座標を求める点BのX座標
IFloat
by
:最接近座標を求める点BのY座標
editable
INativeFloat
? ox
:[出力]線分上の点Bと最も近い点のX座標。
空参照を指定した場合、無視します。
editable
INativeFloat
? oy
:[出力]線分上の点Bと最も近い点のY座標。
空参照を指定した場合、無視します。
先頭へ
Math::LLIntersection
public static
Integer
LLIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
editable
INativeFloat
? ox,editable
INativeFloat
? oy)
指定した2本の線分に交点があるか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した2本の線分に交点がある場合、1を返します。
2本の線分に交点がなく、各線分を定義する座標を通る2本の直線に交点がある場合、0を返します。
2本の線分が平行である場合、-1を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx1
:線分BのX座標1
IFloat
by1
:線分BのY座標1
IFloat
bx2
:線分BのX座標2
IFloat
by2
:線分BのY座標2
editable
INativeFloat
? ox
:[出力]各線分を定義する座標を通る2本の直線の交点のX座標。
このメソッドの戻り値が-1であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oy
:[出力]各線分を定義する座標を通る2本の直線の交点のY座標。
このメソッドの戻り値が-1であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::LvCOverlap
public static
Bool
LvCOverlap(
IFloat
ax,
IFloat
ay,
IFloat
aa,
IFloat
ad,
IFloat
bx,
IFloat
by,
IFloat
br)
指定した線分Aと円Bに重複する領域があるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aと円Bに重複する領域がある場合、真を返します。
IFloat
ax
:線分Aの起点X座標
IFloat
ay
:線分Aの起点Y座標
IFloat
aa
:線分Aの角度(ラジアン単位)
IFloat
ad
:線分Aの終点までの距離
IFloat
bx
:円Bの中心X座標
IFloat
by
:円Bの中心Y座標
IFloat
br
:円Bの半径
先頭へ
Math::LCOverlap
public static
Bool
LCOverlap(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx,
IFloat
by,
IFloat
br)
指定した線分Aと円Bに重複する領域があるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aと円Bに重複する領域がある場合、真を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx
:円Bの中心X座標
IFloat
by
:円Bの中心Y座標
IFloat
br
:円Bの半径
先頭へ
Math::LROverlap
public static
Bool
LROverlap(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2)
指定した線分Aと矩形Bに重複する領域があるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aと矩形Bに重複する領域がある場合、真を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx1
:矩形BのX座標1
IFloat
by1
:矩形BのY座標1
IFloat
bx2
:矩形BのX座標2
IFloat
by2
:矩形BのY座標2
先頭へ
Math::CCOverlap
public static
Bool
CCOverlap(
IFloat
ax,
IFloat
ay,
IFloat
ar,
IFloat
bx,
IFloat
by,
IFloat
br)
指定した二つの円に重複する領域があるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した二つの円に重複する領域がある場合、真を返します。
IFloat
ax
:円Aの中心X座標
IFloat
ay
:円Aの中心Y座標
IFloat
ar
:円Aの半径
IFloat
bx
:円Bの中心X座標
IFloat
by
:円Bの中心Y座標
IFloat
br
:円Bの半径
先頭へ
Math::CROverlap
public static
Bool
CROverlap(
IFloat
ax,
IFloat
ay,
IFloat
ar,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2)
指定した円Aと矩形Bに重複する領域があるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した円Aと矩形Bに重複する領域がある場合、真を返します。
IFloat
ax
:円Aの中心X座標
IFloat
ay
:円Aの中心Y座標
IFloat
ar
:円Aの半径
IFloat
bx1
:矩形BのX座標1
IFloat
by1
:矩形BのY座標1
IFloat
bx2
:矩形BのX座標2
IFloat
by2
:矩形BのY座標2
先頭へ
Math::RROverlap
public static
Bool
RROverlap(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2)
指定した二つの矩形に重複する領域があるか判定します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した二つの矩形に重複する領域がある場合、真を返します。
IFloat
ax1
:矩形AのX座標1
IFloat
ay1
:矩形AのY座標1
IFloat
ax2
:矩形AのX座標2
IFloat
ay2
:矩形AのY座標2
IFloat
bx1
:矩形BのX座標1
IFloat
by1
:矩形BのY座標1
IFloat
bx2
:矩形BのX座標2
IFloat
by2
:矩形BのY座標2
先頭へ
Math::AAOverlap
public static
Bool
AAOverlap(
IFloat
angle1,
IFloat
range1,
IFloat
angle2,
IFloat
range2)
指定した二つの角度範囲に重複があるか判定します。
このメソッドでは角度範囲を中心とそこからの差の範囲で指定します。
range
は中心から正負両方に伸びることに注意してください。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した二つの角度範囲に重複がある場合、真を返します。
IFloat
angle1
:角度範囲1の中心(ラジアン単位)
IFloat
range1
:角度範囲1の範囲(ラジアン単位)
IFloat
angle2
:角度範囲2の中心(ラジアン単位)
IFloat
range2
:角度範囲2の範囲(ラジアン単位)
先頭へ
Math::CalcAngleRangeInSightRC
public static
Bool
CalcAngleRangeInSightRC(
IFloat
x1,
IFloat
y1,
IFloat
x2,
IFloat
y2,
editable
INativeFloat
? out_angle,editable
INativeFloat
? out_range,
INativeFloat
? origin_x=NULL,
INativeFloat
? origin_y=NULL)
原点から
(x1,y1,x2,y2)
で示される矩形が見える角度範囲を求めます。
指定した矩形が原点を含んでいる場合、360度全てを角度範囲として出力します。
out_range
は中心から正負両方に伸びることに注意してください。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:角度範囲が取得できた場合、真を返します。
指定した矩形が原点を範囲に含む場合、偽を返します。
IFloat
x1
:矩形のX座標1
IFloat
y1
:矩形のY座標1
IFloat
x2
:矩形のX座標2
IFloat
y2
:矩形のY座標2
editable
INativeFloat
? out_angle
:[出力]矩形が見える中心角度(ラジアン単位)。
空参照を指定した場合、無視します。
editable
INativeFloat
? out_range
:[出力]矩形が見える中心からの範囲(ラジアン単位)。
空参照を指定した場合、無視します。
INativeFloat
? origin_x=NULL
:原点とするX座標。
空参照を指定した場合、0.0を指定したものとして扱います。
INativeFloat
? origin_y=NULL
:原点とするY座標。
空参照を指定した場合、0.0を指定したものとして扱います。
先頭へ
Math::CalcAngleRangeInSightTR
public static
Bool
CalcAngleRangeInSightTR(
IFloat
x1,
IFloat
y1,
IFloat
x2,
IFloat
y2,
IFloat
x3,
IFloat
y3,
editable
INativeFloat
? out_angle,editable
INativeFloat
? out_range,
INativeFloat
? origin_x=NULL,
INativeFloat
? origin_y=NULL)
原点から
(x1,y1)→(x2,y2)→(x3,y3)→(x1,y1)
で示される三角形が見える角度範囲を求めます。
指定した三角形が原点を含んでいる場合、360度全てを角度範囲として出力します。
out_range
は中心から正負両方に伸びることに注意してください。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:角度範囲が取得できた場合、真を返します。
指定した三角形が原点を範囲に含む場合、偽を返します。
IFloat
x1
:三角形のX座標1
IFloat
y1
:三角形のY座標1
IFloat
x2
:三角形のX座標2
IFloat
y2
:三角形のY座標2
IFloat
x3
:三角形のX座標3
IFloat
y3
:三角形のY座標3
editable
INativeFloat
? out_angle
:[出力]三角形が見える中心角度(ラジアン単位)。
空参照を指定した場合、無視します。
editable
INativeFloat
? out_range
:[出力]三角形が見える中心からの範囲(ラジアン単位)。
空参照を指定した場合、無視します。
INativeFloat
? origin_x=NULL
:原点とするX座標。
空参照を指定した場合、0.0を指定したものとして扱います。
INativeFloat
? origin_y=NULL
:原点とするY座標。
空参照を指定した場合、0.0を指定したものとして扱います。
先頭へ
Math::CalcAngleRangeInSightQR
public static
Bool
CalcAngleRangeInSightQR(
IFloat
x1,
IFloat
y1,
IFloat
x2,
IFloat
y2,
IFloat
x3,
IFloat
y3,
IFloat
x4,
IFloat
y4,
editable
INativeFloat
? out_angle,editable
INativeFloat
? out_range,
INativeFloat
? origin_x=NULL,
INativeFloat
? origin_y=NULL)
原点から
(x1,y1)→(x2,y2)→(x3,y3)→(x4,y4)→(x1,y1)
で示される四角形が見える角度範囲を求めます。
指定した四角形が原点を含んでいる場合、360度全てを角度範囲として出力します。
out_range
は中心から正負両方に伸びることに注意してください。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:角度範囲が取得できた場合、真を返します。
指定した四角形が原点を範囲に含む場合、偽を返します。
IFloat
x1
:四角形のX座標1
IFloat
y1
:四角形のY座標1
IFloat
x2
:四角形のX座標2
IFloat
y2
:四角形のY座標2
IFloat
x3
:四角形のX座標3
IFloat
y3
:四角形のY座標3
IFloat
x4
:四角形のX座標4
IFloat
y4
:四角形のY座標4
editable
INativeFloat
? out_angle
:[出力]四角形が見える中心角度(ラジアン単位)。
空参照を指定した場合、無視します。
editable
INativeFloat
? out_range
:[出力]四角形が見える中心からの範囲(ラジアン単位)。
空参照を指定した場合、無視します。
INativeFloat
? origin_x=NULL
:原点とするX座標。
空参照を指定した場合、0.0を指定したものとして扱います。
INativeFloat
? origin_y=NULL
:原点とするY座標。
空参照を指定した場合、0.0を指定したものとして扱います。
先頭へ
Math::CalcAngleRangeInSightCR
public static
Bool
CalcAngleRangeInSightCR(
IFloat
x,
IFloat
y,
IFloat
r,
editable
INativeFloat
? out_angle,editable
INativeFloat
? out_range,
INativeFloat
? origin_x=NULL,
INativeFloat
? origin_y=NULL)
原点から
(x,y,r)
で示される円が見える角度範囲を求めます。
指定した円が原点を含んでいる場合、360度全てを角度範囲として出力します。
out_range
は中心から正負両方に伸びることに注意してください。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:角度範囲が取得できた場合、真を返します。
指定した円が原点を範囲に含む場合、偽を返します。
IFloat
x
:円の中心X座標
IFloat
y
:円の中心Y座標
IFloat
r
:円の半径
editable
INativeFloat
? out_angle
:[出力]円が見える中心角度(ラジアン単位)。
空参照を指定した場合、無視します。
editable
INativeFloat
? out_range
:[出力]円が見える中心からの範囲(ラジアン単位)。
空参照を指定した場合、無視します。
INativeFloat
? origin_x=NULL
:原点とするX座標。
空参照を指定した場合、0.0を指定したものとして扱います。
INativeFloat
? origin_y=NULL
:原点とするY座標。
空参照を指定した場合、0.0を指定したものとして扱います。
先頭へ
Math::CalcLineGrid
public static
Bool
CalcLineGrid(
IInteger
start_x,
IInteger
start_y,
IInteger
end_x,
IInteger
end_y,
editable
PIntArray
out_xlist,editable
PIntArray
out_ylist)
指定した線分が通過する、1単位で区切った方眼状のグリッドの座標リストを求めます。
探索可能な範囲は一辺32768グリッドまでです。
このメソッドは起点から終点へ向かってリストを作成します。
このメソッドは最初に各
IInteger
の引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:リストを取得できた場合、真を返します。
IInteger
start_x
:起点X座標
IInteger
start_y
:起点Y座標
IInteger
end_x
:終点X座標
IInteger
end_y
:終点Y座標
editable
PIntArray
out_xlist
:[出力]通過するグリッドのX座標リストを出力するオブジェクト。
editable
PIntArray
out_ylist
:[出力]通過するグリッドのY座標リストを出力するオブジェクト。
先頭へ
Math::CalcCircumferenceGrid
public static
Bool
CalcCircumferenceGrid(
IFloat
origin_x,
IFloat
origin_y,
IFloat
r,
IFloat
start_angle,
IFloat
end_angle,
editable
PIntArray
out_xlist,editable
PIntArray
out_ylist)
指定した円弧が通過する、1単位で区切った方眼状のグリッドの座標リストを求めます。
探索可能な範囲は円の半径が2〜100000の範囲です。
このメソッドは起点から終点へ向かってリストを作成します。
このメソッドは同じ座標を複数回出力しません。
指定した円弧が同じ座標のグリッドを複数回通過する場合、最初に通過するタイミングのみ出力されます。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:リストを取得できた場合、真を返します。
IFloat
origin_x
:円の中心X座標
IFloat
origin_y
:円の中心Y座標
IFloat
r
:円の半径
IFloat
start_angle
:円弧の起点角度(ラジアン単位)
IFloat
end_angle
:円弧の終点角度(ラジアン単位)
editable
PIntArray
out_xlist
:[出力]通過するグリッドのX座標リストを出力するオブジェクト。
editable
PIntArray
out_ylist
:[出力]通過するグリッドのY座標リストを出力するオブジェクト。
先頭へ
Math::PPaOrthogonal
public static
Bool
PPaOrthogonal(
IFloat
ax,
IFloat
ay,
IFloat
bx,
IFloat
by,
IFloat
ba,
editable
INativeFloat
? ox,editable
INativeFloat
? oy)
指定した点Aと指定した角度で移動する点Bが最接近する座標を求めます。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:最接近座標が点Bの進行方向にある(点Bが点Aへ接近する方向で移動している)場合、真を返します。
IFloat
ax
:点AのX座標
IFloat
ay
:点AのY座標
IFloat
bx
:点Bの起点X座標
IFloat
by
:点Bの起点Y座標
IFloat
ba
:点Bの進行角度(ラジアン単位)
editable
INativeFloat
? ox
:[出力]二点が最も接近するX座標。
空参照を指定した場合、無視します。
editable
INativeFloat
? oy
:[出力]二点が最も接近するY座標。
空参照を指定した場合、無視します。
先頭へ
Math::PLaIntersection
public static
Integer
PLaIntersection(
IFloat
ax,
IFloat
ay,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
IFloat
ba,
editable
INativeFloat
? od)
指定した点Aと指定した角度で移動する線分Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した点Aと指定した角度で移動する線分Bが接触する場合、1を返します。
線分Bが接触せず、指定した点Aと線分Bを定義する座標を通る、指定した角度で移動する直線が接触する場合、0を返します。
それ以外の場合、-1を返します。
IFloat
ax
:点AのX座標
IFloat
ay
:点AのY座標
IFloat
bx1
:線分Bの起点X座標1
IFloat
by1
:線分Bの起点Y座標1
IFloat
bx2
:線分Bの起点X座標2
IFloat
by2
:線分Bの起点Y座標2
IFloat
ba
:線分Bの進行角度(ラジアン単位)
editable
INativeFloat
? od
:[出力]点Aと線分Bが接触するまでの線分Bの移動距離。
このメソッドの戻り値が-1であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::PCaIntersection
public static
Bool
PCaIntersection(
IFloat
ax,
IFloat
ay,
IFloat
bx,
IFloat
by,
IFloat
br,
IFloat
ba,
editable
INativeFloat
? od)
指定した点Aと指定した角度で移動する円Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した点Aと指定した角度で移動する円Bが接触する場合、真を返します。
IFloat
ax
:点AのX座標
IFloat
ay
:点AのY座標
IFloat
bx
:円Bの起点中心X座標
IFloat
by
:円Bの起点中心Y座標
IFloat
br
:円Bの半径
IFloat
ba
:円Bの進行角度(ラジアン単位)
editable
INativeFloat
? od
:[出力]点Aと円Bが接触するまでの円Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::PRaIntersection
public static
Bool
PRaIntersection(
IFloat
ax,
IFloat
ay,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
IFloat
ba,
editable
INativeFloat
? od)
指定した点Aと指定した角度で移動する矩形Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した点Aと指定した角度で移動する矩形Bが接触する場合、真を返します。
IFloat
ax
:点AのX座標
IFloat
ay
:点AのY座標
IFloat
bx1
:矩形Bの起点X座標1
IFloat
by1
:矩形Bの起点Y座標1
IFloat
bx2
:矩形Bの起点X座標2
IFloat
by2
:矩形Bの起点Y座標2
IFloat
ba
:矩形Bの進行角度(ラジアン単位)
editable
INativeFloat
? od
:[出力]点Aと矩形Bが接触するまでの矩形Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::LPaIntersection
public static
Integer
LPaIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx,
IFloat
by,
IFloat
ba,
editable
INativeFloat
? obx,editable
INativeFloat
? oby)
指定した線分Aと指定した角度で移動する点Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aと指定した角度で移動する点Bが接触する場合、1を返します。
線分Aが接触せず、指定した線分Aを定義する座標を通る直線と指定した角度で移動する点Bが接触する場合、0を返します。
それ以外の場合、-1を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx
:点Bの起点X座標
IFloat
by
:点Bの起点Y座標
IFloat
ba
:点Bの進行角度(ラジアン単位)
editable
INativeFloat
? obx
:[出力]線分Aを定義する座標を通る直線と移動する点Bが接触するX座標。
このメソッドの戻り値が-1であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]線分Aを定義する座標を通る直線と移動する点Bが接触するY座標。
このメソッドの戻り値が-1であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::LLaIntersection
public static
Bool
LLaIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
IFloat
ba,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,editable
INativeFloat
? obd)
指定した線分Aと指定した角度で移動する線分Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aと指定した角度で移動する線分Bが接触する場合、真を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx1
:線分Bの起点X座標1
IFloat
by1
:線分Bの起点Y座標1
IFloat
bx2
:線分Bの起点X座標2
IFloat
by2
:線分Bの起点Y座標2
IFloat
ba
:線分Bの進行角度(ラジアン単位)
editable
INativeFloat
? obx
:[出力]線分Aと移動する線分Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]線分Aと移動する線分Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]線分Aと線分Bが接触するまでの線分Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::LCaIntersection
public static
Bool
LCaIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx,
IFloat
by,
IFloat
br,
IFloat
ba,
editable
INativeFloat
? oax,editable
INativeFloat
? oay,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,
editable
INativeFloat
? oba,editable
INativeFloat
? obd)
指定した線分Aと指定した角度で移動する円Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aと指定した角度で移動する円Bが接触する場合、真を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx
:円Bの起点中心X座標
IFloat
by
:円Bの起点中心Y座標
IFloat
br
:円Bの半径
IFloat
ba
:円Bの進行角度(ラジアン単位)
editable
INativeFloat
? oax
:[出力]線分Aと移動する円Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oay
:[出力]線分Aと移動する円Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obx
:[出力]線分Aと移動する円Bが接触する時の円Bの中心X座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]線分Aと移動する円Bが接触する時の円Bの中心Y座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oba
:[出力]線分Aと移動する円Bが接触する時の円Bからみた接触角度(ラジアン単位)。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]線分Aと円Bが接触するまでの円Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::LRaIntersection
public static
Bool
LRaIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
IFloat
ba,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,editable
INativeFloat
? obd)
指定した線分Aと指定した角度で移動する矩形Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した線分Aと指定した角度で移動する矩形Bが接触する場合、真を返します。
IFloat
ax1
:線分AのX座標1
IFloat
ay1
:線分AのY座標1
IFloat
ax2
:線分AのX座標2
IFloat
ay2
:線分AのY座標2
IFloat
bx1
:矩形Bの起点X座標1
IFloat
by1
:矩形Bの起点Y座標1
IFloat
bx2
:矩形Bの起点X座標2
IFloat
by2
:矩形Bの起点Y座標2
IFloat
ba
:矩形Bの進行角度(ラジアン単位)
editable
INativeFloat
? obx
:[出力]線分Aと移動する矩形Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]線分Aと移動する矩形Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]線分Aと矩形Bが接触するまでの矩形Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::CPaIntersection
public static
Bool
CPaIntersection(
IFloat
ax,
IFloat
ay,
IFloat
ar,
IFloat
bx,
IFloat
by,
IFloat
ba,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,editable
INativeFloat
? obd)
指定した円Aと指定した角度で移動する点Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した円Aと指定した角度で移動する点Bが接触する場合、真を返します。
IFloat
ax
:円Aの中心X座標
IFloat
ay
:円Aの中心Y座標
IFloat
ar
:円Aの半径
IFloat
bx
:点Bの起点X座標
IFloat
by
:点Bの起点Y座標
IFloat
ba
:点Bの進行角度(ラジアン単位)
editable
INativeFloat
? obx
:[出力]円Aと移動する点Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]円Aと移動する点Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]円Aと点Bが接触するまでの点Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::CLaIntersection
public static
Bool
CLaIntersection(
IFloat
ax,
IFloat
ay,
IFloat
ar,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
IFloat
ba,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,
editable
INativeFloat
? oba,editable
INativeFloat
? obd)
指定した円Aと指定した角度で移動する線分Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した円Aと指定した角度で移動する線分Bが接触する場合、真を返します。
IFloat
ax
:円Aの中心X座標
IFloat
ay
:円Aの中心Y座標
IFloat
ar
:円Aの半径
IFloat
bx1
:線分Bの起点X座標1
IFloat
by1
:線分Bの起点Y座標1
IFloat
bx2
:線分Bの起点X座標2
IFloat
by2
:線分Bの起点Y座標2
IFloat
ba
:線分Bの進行角度(ラジアン単位)
editable
INativeFloat
? obx
:[出力]円Aと移動する線分Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]円Aと移動する線分Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oba
:[出力]円Aと移動する線分Bが接触する時の線分Bからみた接触角度(ラジアン単位)。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]円Aと線分Bが接触するまでの線分Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::CCaIntersection
public static
Bool
CCaIntersection(
IFloat
ax,
IFloat
ay,
IFloat
ar,
IFloat
bx,
IFloat
by,
IFloat
br,
IFloat
ba,
editable
INativeFloat
? oax,editable
INativeFloat
? oay,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,
editable
INativeFloat
? oba,editable
INativeFloat
? obd)
指定した円Aと指定した角度で移動する円Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した円Aと指定した角度で移動する円Bが接触する場合、真を返します。
IFloat
ax
:円Aの中心X座標
IFloat
ay
:円Aの中心Y座標
IFloat
ar
:円Aの半径
IFloat
bx
:円Bの起点中心X座標
IFloat
by
:円Bの起点中心Y座標
IFloat
br
:円Bの半径
IFloat
ba
:円Bの進行角度(ラジアン単位)
editable
INativeFloat
? oax
:[出力]円Aと移動する円Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oay
:[出力]円Aと移動する円Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obx
:[出力]円Aと移動する円Bが接触する時の円Bの中心X座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]円Aと移動する円Bが接触する時の円Bの中心Y座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oba
:[出力]円Aと移動する円Bが接触する時の円Bからみた接触角度(ラジアン単位)。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]円Aと円Bが接触するまでの円Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::CRaIntersection
public static
Bool
CRaIntersection(
IFloat
ax,
IFloat
ay,
IFloat
ar,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
IFloat
ba,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,
editable
INativeFloat
? oba,editable
INativeFloat
? obd)
指定した円Aと指定した角度で移動する矩形Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した円Aと指定した角度で移動する矩形Bが接触する場合、真を返します。
IFloat
ax
:円Aの中心X座標
IFloat
ay
:円Aの中心Y座標
IFloat
ar
:円Aの半径
IFloat
bx1
:矩形Bの起点X座標1
IFloat
by1
:矩形Bの起点Y座標1
IFloat
bx2
:矩形Bの起点X座標2
IFloat
by2
:矩形Bの起点Y座標2
IFloat
ba
:矩形Bの進行角度(ラジアン単位)
editable
INativeFloat
? obx
:[出力]円Aと移動する矩形Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]円Aと移動する矩形Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oba
:[出力]円Aと移動する矩形Bが接触する時の矩形Bからみた接触角度(ラジアン単位)。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]円Aと矩形Bが接触するまでの矩形Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::RPaIntersection
public static
Bool
RPaIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx,
IFloat
by,
IFloat
ba,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,editable
INativeFloat
? obd)
指定した矩形Aと指定した角度で移動する点Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した矩形Aと指定した角度で移動する点Bが接触する場合、真を返します。
IFloat
ax1
:矩形AのX座標1
IFloat
ay1
:矩形AのY座標1
IFloat
ax2
:矩形AのX座標2
IFloat
ay2
:矩形AのY座標2
IFloat
bx
:点Bの起点X座標
IFloat
by
:点Bの起点Y座標
IFloat
ba
:点Bの進行角度(ラジアン単位)
editable
INativeFloat
? obx
:[出力]矩形Aと移動する点Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]矩形Aと移動する点Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]矩形Aと点Bが接触するまでの点Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::RLaIntersection
public static
Bool
RLaIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
IFloat
ba,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,editable
INativeFloat
? obd)
指定した矩形Aと指定した角度で移動する線分Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した矩形Aと指定した角度で移動する線分Bが接触する場合、真を返します。
IFloat
ax1
:矩形AのX座標1
IFloat
ay1
:矩形AのY座標1
IFloat
ax2
:矩形AのX座標2
IFloat
ay2
:矩形AのY座標2
IFloat
bx1
:線分Bの起点X座標1
IFloat
by1
:線分Bの起点Y座標1
IFloat
bx2
:線分Bの起点X座標2
IFloat
by2
:線分Bの起点Y座標2
IFloat
ba
:線分Bの進行角度(ラジアン単位)
editable
INativeFloat
? obx
:[出力]矩形Aと移動する線分Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]矩形Aと移動する線分Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]矩形Aと線分Bが接触するまでの線分Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::RCaIntersection
public static
Bool
RCaIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx,
IFloat
by,
IFloat
br,
IFloat
ba,
editable
INativeFloat
? oax,editable
INativeFloat
? oay,
editable
INativeFloat
? obx,editable
INativeFloat
? oby,
editable
INativeFloat
? oba,editable
INativeFloat
? obd)
指定した矩形Aと指定した角度で移動する円Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した矩形Aと指定した角度で移動する円Bが接触する場合、真を返します。
IFloat
ax1
:矩形AのX座標1
IFloat
ay1
:矩形AのY座標1
IFloat
ax2
:矩形AのX座標2
IFloat
ay2
:矩形AのY座標2
IFloat
bx
:円Bの起点中心X座標
IFloat
by
:円Bの起点中心Y座標
IFloat
br
:円Bの半径
IFloat
ba
:円Bの進行角度(ラジアン単位)
editable
INativeFloat
? oax
:[出力]矩形Aと移動する円Bが接触するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oay
:[出力]矩形Aと移動する円Bが接触するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obx
:[出力]矩形Aと移動する円Bが接触する時の円Bの中心X座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oby
:[出力]矩形Aと移動する円Bが接触する時の円Bの中心Y座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oba
:[出力]矩形Aと移動する円Bが接触する時の円Bからみた接触角度(ラジアン単位)。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]矩形Aと円Bが接触するまでの円Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::RRaIntersection
public static
Bool
RRaIntersection(
IFloat
ax1,
IFloat
ay1,
IFloat
ax2,
IFloat
ay2,
IFloat
bx1,
IFloat
by1,
IFloat
bx2,
IFloat
by2,
IFloat
ba,
editable
INativeFloat
? oba,editable
INativeFloat
? obd)
指定した矩形Aと指定した角度で移動する矩形Bが接触するか判定します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:指定した矩形Aと指定した角度で移動する矩形Bが接触する場合、真を返します。
IFloat
ax1
:矩形AのX座標1
IFloat
ay1
:矩形AのY座標1
IFloat
ax2
:矩形AのX座標2
IFloat
ay2
:矩形AのY座標2
IFloat
bx1
:矩形Bの起点X座標1
IFloat
by1
:矩形Bの起点Y座標1
IFloat
bx2
:矩形Bの起点X座標2
IFloat
by2
:矩形Bの起点Y座標2
IFloat
ba
:矩形Bの進行角度(ラジアン単位)
editable
INativeFloat
? oba
:[出力]矩形Aと移動する矩形Bが接触する時の矩形Bからみた接触角度(ラジアン単位)。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? obd
:[出力]矩形Aと矩形Bが接触するまでの矩形Bの移動距離。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::PsPvAim
public static
Bool
PsPvAim(
IFloat
ax,
IFloat
ay,
IFloat
as,
IFloat
bx,
IFloat
by,
IFloat
bs,
IFloat
ba,
editable
INativeFloat
? ox,editable
INativeFloat
? oy,editable
INativeFloat
? oa)
点Aを指定した速度で移動させ、指定したベクトルで移動する点Bと衝突させるための点Aの射出角度を求めます。
このメソッドは条件を満たす角度が一つではない場合、最も早く衝突する角度を返します。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:衝突可能な角度が存在する場合、真を返します。
IFloat
ax
:点Aの起点X座標
IFloat
ay
:点Aの起点Y座標
IFloat
as
:点Aの射出速度
IFloat
bx
:点Bの起点X座標
IFloat
by
:点Bの起点Y座標
IFloat
bs
:点Bの移動速度
IFloat
ba
:点Bの進行角度(ラジアン単位)
editable
INativeFloat
? ox
:[出力]二点が衝突するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oy
:[出力]二点が衝突するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oa
:[出力]二点を衝突させるための点Aの射出角度(ラジアン単位)。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::PaPvAim
public static
Bool
PaPvAim(
IFloat
ax,
IFloat
ay,
IFloat
aa,
IFloat
bx,
IFloat
by,
IFloat
bs,
IFloat
ba,
editable
INativeFloat
? ox,editable
INativeFloat
? oy,editable
INativeFloat
? os)
点Aを指定した角度で移動させ、指定したベクトルで移動する点Bと衝突させるための点Aの射出速度を求めます。
このメソッドは二点の角度が同じ場合、極端に大きな速度を返却する場合があります。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:衝突可能な速度が存在する場合、真を返します。
IFloat
ax
:点Aの起点X座標
IFloat
ay
:点Aの起点Y座標
IFloat
aa
:点Aの射出角度(ラジアン単位)
IFloat
bx
:点Bの起点X座標
IFloat
by
:点Bの起点Y座標
IFloat
bs
:点Bの移動速度
IFloat
ba
:点Bの進行角度(ラジアン単位)
editable
INativeFloat
? ox
:[出力]二点が衝突するX座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? oy
:[出力]二点が衝突するY座標。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
editable
INativeFloat
? os
:[出力]二点を衝突させるための点Aの射出速度。
このメソッドの戻り値が偽であった場合、出力値に意味はありません。
空参照を指定した場合、無視します。
先頭へ
Math::PPvtAim
public static void PPvtAim(
IFloat
ax,
IFloat
ay,
IFloat
bx,
IFloat
by,
IFloat
bs,
IFloat
ba,
IFloat
t,
editable
INativeFloat
? ox,editable
INativeFloat
? oy,editable
INativeFloat
? os,editable
INativeFloat
? oa)
点Aを移動させ、指定したベクトルで移動する点Bと指定した時間後に衝突させるための点Aの射出角度と速度を求めます。
このメソッドは最初に各
IFloat
の引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
IFloat
ax
:点Aの起点X座標
IFloat
ay
:点Aの起点Y座標
IFloat
bx
:点Bの起点X座標
IFloat
by
:点Bの起点Y座標
IFloat
bs
:点Bの移動速度
IFloat
ba
:点Bの進行角度(ラジアン単位)
IFloat
t
:衝突させるまでの時間
editable
INativeFloat
? ox
:[出力]二点が衝突するX座標。
空参照を指定した場合、無視します。
editable
INativeFloat
? oy
:[出力]二点が衝突するY座標。
空参照を指定した場合、無視します。
editable
INativeFloat
? os
:[出力]二点を衝突させるための点Aの射出速度。
空参照を指定した場合、無視します。
editable
INativeFloat
? oa
:[出力]二点を衝突させるための点Aの射出角度(ラジアン単位)。
空参照を指定した場合、無視します。
先頭へ
Math::Min
public static
Integer
Min(...)
指定した全ての引数を
INativeInteger
で評価し、その最小値を返します。
戻り値:全ての引数を
INativeInteger
で評価し、その最小値を返します。
可変長引数:最小値を求める引数群。
INativeInteger
で扱える型である必要があります。
先頭へ
Math::Max
public static
Integer
Max(...)
指定した全ての引数を
INativeInteger
で評価し、その最大値を返します。
戻り値:全ての引数を
INativeInteger
で評価し、その最大値を返します。
可変長引数:最大値を求める引数群。
INativeInteger
で扱える型である必要があります。
先頭へ
Math::MinF
public static
Float
MinF(...)
指定した全ての引数を
INativeFloat
で評価し、その最小値を返します。
戻り値:全ての引数を
INativeFloat
で評価し、その最小値を返します。
可変長引数:最小値を求める引数群。
INativeFloat
で扱える型である必要があります。
先頭へ
Math::MaxF
public static
Float
MaxF(...)
指定した全ての引数を
INativeFloat
で評価し、その最大値を返します。
戻り値:全ての引数を
INativeFloat
で評価し、その最大値を返します。
可変長引数:最大値を求める引数群。
INativeFloat
で扱える型である必要があります。
先頭へ
Math::Top1Bit
public static
Integer
Top1Bit(
IInteger
value)
value
の値で1になる最上位ビットの位置を求めて返します。
ビット位置は最上位(符号)が63、最下位(1)が0で表されます。
このメソッドは最初に
value
から
INativeInteger
による取得を試みます。
これに失敗した場合、
value.Get
を呼び出します。
戻り値:指定した値の1になる最上位ビットの位置を返します。
1になるビットが存在しない場合は-1を返します。
IInteger
value
:求める値
先頭へ
Math::Bottom1Bit
public static
Integer
Bottom1Bit(
IInteger
value)
value
の値で1になる最下位ビットの位置を求めて返します。
ビット位置は最上位(符号)が63、最下位(1)が0で表されます。
このメソッドは最初に
value
から
INativeInteger
による取得を試みます。
これに失敗した場合、
value.Get
を呼び出します。
戻り値:指定した値の1になる最下位ビットの位置を返します。
1になるビットが存在しない場合は-1を返します。
IInteger
value
:求める値
先頭へ
Math::Count1Bit
public static
Integer
Count1Bit(
IInteger
value)
value
の値で1になるビットの数を求めて返します。
このメソッドは最初に
value
から
INativeInteger
による取得を試みます。
これに失敗した場合、
value.Get
を呼び出します。
戻り値:指定した値の1になるビットの数を返します。
IInteger
value
:求める値
先頭へ
Math::RateI
public static
Integer
RateI(
IInteger
value,
IInteger
base,
IInteger
dst)
base
を0、
dst
を100とした数値軸に
value
の値を変換します。
base
を最低値、
dst
を最高値とした場合は戻り値は
value
の比率位置に相当します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:
base
を0、
dst
を100とした数値軸に
value
の値を変換した結果を返します。
IInteger
value
:求める値
IInteger
base
:0になる値
IInteger
dst
:100になる値
先頭へ
Math::RateF
public static
Float
RateF(
IFloat
value,
IFloat
base,
IFloat
dst)
base
を0、
dst
を1とした数値軸に
value
の値を変換します。
base
を最低値、
dst
を最高値とした場合は戻り値は
value
の比率位置に相当します。
このメソッドは最初に各引数から
INativeFloat
による取得を試みます。
これに失敗した場合、
IFloat@@Get
を呼び出します。
戻り値:
base
を0、
dst
を1とした数値軸に
value
の値を変換した結果を返します。
IFloat
value
:求める値
IFloat
base
:0になる値
IFloat
dst
:1になる値
先頭へ
Math::E
readable readonly
Float
E
ネイピア数(2.7182818284590452353602874)の定数です。
先頭へ
Math::PI
readable readonly
Float
PI
円周率(3.14159265358979323846264)の定数です。
先頭へ
Math::HALFPI
readable readonly
Float
HALFPI
円周率/2を示す定数。
先頭へ
Math::PIx2
readable readonly
Float
PIx2
円周率*2を示す定数。
先頭へ
Math::INFINITY
readable readonly
Float
INFINITY
無限大を示す定数。
先頭へ
[前へ]
[目次へ]
[次へ]
最終更新 2023/05/29