説明
位置、回転、サイズ、3Dベクトル、およびポイントを表し、一般的なベクトル演算を行う関数を格納します。
プロパティ
magnitude |
このベクトルの長さ(読み取り専用)。 |
normalized |
大きさ1に調整されるベクトル(読み取り専用)。 |
x |
ベクトルのXコンポーネント。 |
y |
ベクトルのYコンポーネント。 |
z |
ベクトルのZコンポーネント。 |
メソッド
angle |
このベクトルと別ベクトルの間の角度を検索します(度)。 |
cross |
このベクトルと別ベクトルのクロス積を検索します。 |
dot |
このベクトルと別ベクトルのドット積を検索します。 |
lerp |
2つのベクトル間で直線的に補間します。 |
project |
ベクトルを特定の座標空間から別の座標空間に変換します。 |
projectRotation |
回転として解釈したベクトルを、特定の座標空間から別の座標空間に変換します。 |
コンストラクター
Vec3 |
xyzコンポーネント値によってベクトルを構築します。 |
演算子
- |
あるベクトルを別ベクトルから減算します。 |
!= |
2つのベクトルを比較します。 |
* |
ベクトルと別ベクトルまたはスケール係数を乗算します。 |
/ |
ベクトルと別ベクトルまたはスケール係数を除算します。 |
+ |
2つのベクトルをあわせて加算します。 |
+= |
ベクトルを2つのベクトルの合計値として割り当てます。 |
-= |
ベクトルを2つのベクトルの差として割り当てます。 |
== |
2つのベクトルを比較します。 |
unary - |
ベクトルを無効にします。 |
詳細
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.magnitude
readonly double magnitude
説明
このベクトルの長さ(読み取り専用)。
ベクトルの長さを(x*x+y*y+z*z)の平方根として計算します。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.normalized
readonly Vec3 normalized
説明
大きさ1に調整されるベクトル(読み取り専用)。
元と同じ方向を示すが長さ1になっている、元のベクトルのコピー。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
パラメータ
otherVec |
このベクトルを中心に広がる角度。 |
戻り値
説明
このベクトルと別ベクトルの間の角度を検索します(度)。
double angle = myVector.angle(Vec3(1, 2, 3));
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
パラメータ
otherVec |
このベクトルとcross積を行うベクトル。 |
戻り値
説明
このベクトルと別ベクトルのクロス積を検索します。
Vec3 cross = myVector.cross(Vec3(1, 2, 3));
2つのベクトルのクロス積は、2つの入力ベクトルに垂直なベクトルになります。2つの想定垂直ベクトルがあるため、その方向は「左手の法則」によって判断されます。つまり、vector1をvector2に交差させると、vector2をvector1に交差させた場合の逆となります。新しいベクトルの大きさは、互いに乗算された上でそれらの入力間角度の正弦によって乗算される2つの入力に等しい大きさになります。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
パラメータ
otherVec |
このベクトルとドット積を行うベクトル。 |
戻り値
説明
このベクトルと別ベクトルのドット積を検索します。
double dot = myVector.dot(Vec3(1, 2, 3));
2つのベクトルのドット積は、互いに乗算された上でそれらのベクトル間角度の余弦によって乗算される2つのベクトルの大きさに等しい数値になります。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
パラメータ
otherVec |
補間するベクトル。 |
t |
現在のベクトルをotherVecに補間する割合を定義する、0~1の比率です。 |
戻り値
説明
2つのベクトル間で直線的に補間します。
次のコード例では、現在の位置を別オブジェクト方向の20%に変更しています。
current.location = current.location.lerp(otherObj.location, 0.2);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.project()
パラメータ
from |
投影元の座標空間を表すツリーノード。 |
to |
投影先の座標空間を表すツリーノード。 |
戻り値
説明
ベクトルを特定の座標空間から別の座標空間に変換します。
fromの座標空間のベクトルを取得し、このベクトルをtoの座標空間に平行移動し、投影されたベクトルを返します。
ベクトルはfromの座標空間の原点ポイントから取得されます。原点は座標空間の(0,0,0)ポイントであり、オブジェクトの座標空間左上コーナーに配置されることが多いです。
FlexSimにおける軸の機能について、よく理解するようにしてください。XおよびY軸は床グリッド平面を構成し、Z軸は高さと等しくなります。また、オブジェクトのyサイズ値は-y方向に伸びますが、XおよびZ軸上では正方向に伸びています。言い換えると、位置(0,5,0)でサイズ(1,2,3)のオブジェクトはx位置0から1に伸び、y位置5から3、およびz位置0から3に伸びます。
Vec3 globalLoc = Vec3(5, 3, 0).project(current, model());
この例では、位置(5,3,0)のグローバル位置を現在の座標空間で調べています。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.projectRotation()
パラメータ
from |
投影元の座標空間を表すツリーノード。 |
to |
投影先の座標空間を表すツリーノード。 |
戻り値
説明
回転として解釈したベクトルを、特定の座標空間から別の座標空間に変換します。
fromの座標空間で回転として解釈されたベクトルを取得し、このベクトルをtoの座標空間に平行移動し、投影された回転を返します。
Vec3 globalRot = current.rotation.project(current.up, model());
この例では、モデルの空間に投影された現在の回転を調べています。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3 Constructor
パラメータ
x |
xコンポーネント。 |
y |
yコンポーネント。 |
z |
zコンポーネント。 |
value |
すべてのコンポーネントに設定される値。 |
説明
xyzコンポーネント値によってベクトルを構築します。
current.location = Vec3(1, 2, 3);
current.location = Vec3(0);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator -
パラメータ
otherVec |
このベクトルから減算するベクトル。 |
戻り値
説明
あるベクトルを別ベクトルから減算します。
各コンポーネントは、そのコンポーネントから減算された対応コンポーネントを含んでいます。
current.location = someVector - anotherVector;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator !=
パラメータ
otherVec |
このベクトルと比較するベクトル。 |
戻り値
int |
2つのベクトルが異なる場合には真となり、それ以外では偽となります。 |
説明
2つのベクトルを比較します。
int isNotZero = current.location != Vec3(0, 0, 0);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator *
パラメータ
otherVec |
このベクトルを乗算するベクトル。 |
factor |
各コンポーネントを乗算するスケール係数。 |
戻り値
説明
ベクトルと別ベクトルまたはスケール係数を乗算します。
Vec3が渡された場合、コンポーネントごとの乗算動作が行われます。
current.location = someVector * anotherVector;
current.location = someVector * 1.2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator /
パラメータ
otherVec |
このベクトルを除算するベクトル。 |
factor |
各コンポーネントを除算するスケール係数。 |
戻り値
説明
ベクトルと別ベクトルまたはスケール係数を除算します。
Vec3が渡された場合、コンポーネントごとの除算動作が行われます。
current.location = someVector / anotherVector;
current.location = someVector / 1.2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator +
パラメータ
otherVec |
このベクトルに加算するベクトル。 |
戻り値
説明
2つのベクトルをあわせて加算します。
各コンポーネントが対応コンポーネントに加算されます。
current.location = someVector + anotherVector;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator +=
パラメータ
otherVec |
このベクトルに加算するベクトル。 |
戻り値
説明
ベクトルを2つのベクトルの合計値として割り当てます。
各コンポーネントが対応コンポーネントに加算されます。
current.location += someVector;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator -=
パラメータ
otherVec |
このベクトルから減算するベクトル。 |
戻り値
説明
ベクトルを2つのベクトルの差として割り当てます。
各コンポーネントは、そのコンポーネントから減算された対応コンポーネントを含んでいます。
current.location -= someVector;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator ==
パラメータ
otherVec |
このベクトルと比較するベクトル。 |
戻り値
int |
両方のベクトルが完全に同じ場合には真となり、それ以外では偽となります。 |
説明
2つのベクトルを比較します。
int isZero = current.location == Vec3(0, 0, 0);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Vec3.operator unary -
戻り値
説明
ベクトルを無効にします。
各コンポーネントが無効化されます。
current.location = -current.location;