Vec3

説明

位置、回転、サイズ、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のアンカーが修正されます。

Vec3.x

double x

説明

ベクトルのXコンポーネント。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.y

double y

説明

ベクトルのYコンポーネント。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.z

double z

説明

ベクトルのZコンポーネント。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.angle()

double angle( Vec3 otherVec )

パラメータ

otherVec このベクトルを中心に広がる角度。

戻り値

double 2つのベクトル間の度数単位の角度。

説明

このベクトルと別ベクトルの間の角度を検索します(度)。

double angle = myVector.angle(Vec3(1, 2, 3));
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.cross()

Vec3 cross( Vec3 otherVec )

パラメータ

otherVec このベクトルとcross積を行うベクトル。

戻り値

Vec3 2つのベクトルのクロス積(Vec3)。

説明

このベクトルと別ベクトルのクロス積を検索します。

Vec3 cross = myVector.cross(Vec3(1, 2, 3));

2つのベクトルのクロス積は、2つの入力ベクトルに垂直なベクトルになります。2つの想定垂直ベクトルがあるため、その方向は「左手の法則」によって判断されます。つまり、vector1をvector2に交差させると、vector2をvector1に交差させた場合の逆となります。新しいベクトルの大きさは、互いに乗算された上でそれらの入力間角度の正弦によって乗算される2つの入力に等しい大きさになります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.dot()

double dot( Vec3 otherVec )

パラメータ

otherVec このベクトルとドット積を行うベクトル。

戻り値

double 2つのベクトルのドット積(ダブル)。

説明

このベクトルと別ベクトルのドット積を検索します。

double dot = myVector.dot(Vec3(1, 2, 3));

2つのベクトルのドット積は、互いに乗算された上でそれらのベクトル間角度の余弦によって乗算される2つのベクトルの大きさに等しい数値になります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.lerp()

Vec3 lerp( Vec3 otherVec , double t )

パラメータ

otherVec 補間するベクトル。
t 現在のベクトルをotherVecに補間する割合を定義する、0~1の比率です。

戻り値

Vec3 結果として得られる補間ベクトル。

説明

2つのベクトル間で直線的に補間します。

次のコード例では、現在の位置を別オブジェクト方向の20%に変更しています。

current.location = current.location.lerp(otherObj.location, 0.2);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.project()

Vec3 project( treenode from , treenode to )

パラメータ

from 投影元の座標空間を表すツリーノード。
to 投影先の座標空間を表すツリーノード。

戻り値

Vec3 投影されたベクトル。

説明

ベクトルを特定の座標空間から別の座標空間に変換します。

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()

Vec3 projectRotation( treenode from , treenode to )

パラメータ

from 投影元の座標空間を表すツリーノード。
to 投影先の座標空間を表すツリーノード。

戻り値

Vec3 投影された回転。

説明

回転として解釈したベクトルを、特定の座標空間から別の座標空間に変換します。

fromの座標空間で回転として解釈されたベクトルを取得し、このベクトルをtoの座標空間に平行移動し、投影された回転を返します。

Vec3 globalRot = current.rotation.project(current.up, model());

この例では、モデルの空間に投影された現在の回転を調べています。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3 Constructor

Vec3( double x , double y , double z )
Vec3( double value )

パラメータ

x xコンポーネント。
y yコンポーネント。
z zコンポーネント。
value すべてのコンポーネントに設定される値。

説明

xyzコンポーネント値によってベクトルを構築します。

current.location = Vec3(1, 2, 3);current.location = Vec3(0);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator -

Vec3 operator -( Vec3 otherVec )

パラメータ

otherVec このベクトルから減算するベクトル。

戻り値

Vec3 結果として得られるベクトル。

説明

あるベクトルを別ベクトルから減算します。

各コンポーネントは、そのコンポーネントから減算された対応コンポーネントを含んでいます。

current.location = someVector - anotherVector;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator !=

int operator !=( Vec3 otherVec )

パラメータ

otherVec このベクトルと比較するベクトル。

戻り値

int 2つのベクトルが異なる場合には真となり、それ以外では偽となります。

説明

2つのベクトルを比較します。

int isNotZero = current.location != Vec3(0, 0, 0);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator *

Vec3 operator *( Vec3 otherVec )
Vec3 operator *( double factor )

パラメータ

otherVec このベクトルを乗算するベクトル。
factor 各コンポーネントを乗算するスケール係数。

戻り値

Vec3 結果として得られるベクトル。

説明

ベクトルと別ベクトルまたはスケール係数を乗算します。

Vec3が渡された場合、コンポーネントごとの乗算動作が行われます。

current.location = someVector * anotherVector;current.location = someVector * 1.2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator /

Vec3 operator /( Vec3 otherVec )
Vec3 operator /( double factor )

パラメータ

otherVec このベクトルを除算するベクトル。
factor 各コンポーネントを除算するスケール係数。

戻り値

Vec3 結果として得られるベクトル。

説明

ベクトルと別ベクトルまたはスケール係数を除算します。

Vec3が渡された場合、コンポーネントごとの除算動作が行われます。

current.location = someVector / anotherVector;current.location = someVector / 1.2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator +

Vec3 operator +( Vec3 otherVec )

パラメータ

otherVec このベクトルに加算するベクトル。

戻り値

Vec3 結果として得られるベクトル。

説明

2つのベクトルをあわせて加算します。

各コンポーネントが対応コンポーネントに加算されます。

current.location = someVector + anotherVector;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator +=

Vec3 operator +=( Vec3 otherVec )

パラメータ

otherVec このベクトルに加算するベクトル。

戻り値

Vec3 結果として得られるベクトル。

説明

ベクトルを2つのベクトルの合計値として割り当てます。

各コンポーネントが対応コンポーネントに加算されます。

current.location += someVector;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator -=

Vec3 operator -=( Vec3 otherVec )

パラメータ

otherVec このベクトルから減算するベクトル。

戻り値

Vec3 結果として得られるベクトル。

説明

ベクトルを2つのベクトルの差として割り当てます。

各コンポーネントは、そのコンポーネントから減算された対応コンポーネントを含んでいます。

current.location -= someVector;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator ==

int operator ==( Vec3 otherVec )

パラメータ

otherVec このベクトルと比較するベクトル。

戻り値

int 両方のベクトルが完全に同じ場合には真となり、それ以外では偽となります。

説明

2つのベクトルを比較します。

int isZero = current.location == Vec3(0, 0, 0);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Vec3.operator unary -

Vec3 operator unary -( )

戻り値

Vec3 結果として得られるベクトル。

説明

ベクトルを無効にします。

各コンポーネントが無効化されます。

current.location = -current.location;