hoge1e3 edited this page Oct 11, 2018 · 7 revisions

api

Vec3クラス / Vec3Viewクラス

3次元のベクトルを表すクラスです.(2次元のベクトルとしても使えます)

コンストラクタ

new Vec3(x,y,z)
  • x,y,zを要素にもつベクトルを作成します(zは省略可能)
new Vec3View(target, keys)
  • オブジェクトtarget の3つのフィールドをx,y,zを要素としてVec3Viewオブジェクトを作成します.
    • keys にはx,y,z要素となるフィールド名を {x:x_key, y:y_key,z:z_key}という形式で渡します.
      • x_key, y_key, z_keyはそれぞれx,y,z成分をあらわす,targetオブジェクトのフィールド名です
      • keysを省略すると {x:"x",y:"y",z:"z"} です.
    • Vec3ViewオブジェクトはVec3オブジェクトと同様に操作できます.
    • Vec3Viewオブジェクトに対して変更を行うとtargetオブジェクトの該当フィールドが変更されます.
    • BaseActorオブジェクトpositionフィールドはそのBaseActorオブジェクトのx,y,zを変更できるVec3Viewオブジェクトとして自動的に初期化されます.

プロパティ

  • x,y,z
    • x,y,z成分を表します
  • length
    • ベクトルの長さを表します
    • 代入すると,向きを変えずに長さを変更します.

メソッド

※以下の引数において、vおよびaxisはx,y,zをフィールドに持つオブジェクト(Vec3オブジェクトも含む)を表し,それ以外の引数は数値を表します。

※「破壊的に」とは,このオブジェクト自身のx,y,z成分を書き換えることを意味します.

  • add(x,y,z)
    • このベクトルとベクトル(x,y,z)を加算した新しいベクトルを返します.
  • add(v)
    • このベクトルとベクトルvを加算した新しいベクトルを返します.
  • addX(x,y,z)
    • このベクトルにベクトル(x,y,z)を破壊的に加算し,このベクトルを返します.
  • addX(v)
    • このベクトルにベクトルvを破壊的に加算し,このベクトルを返します.
  • sub(x,y,z)
    • このベクトルからベクトル(x,y,z)を減算した新しいベクトルを返します.
  • sub(v)
    • このベクトルとベクトルvを減算した新しいベクトルを返します.
  • subX(x,y,z)
    • このベクトルにベクトル(x,y,z)を破壊的に減算し,このベクトルを返します.
  • subX(v)
    • このベクトルにベクトルvを破壊的に減算し,このベクトルを返します.
  • mul(k)
    • このベクトルをk倍した新しいベクトルを返します.
  • mulX(k)
    • このベクトルを破壊的にk倍し,このベクトルを返します.
  • div(k)
    • このベクトルを1/k倍した新しいベクトルを返します.
  • divX(k)
    • このベクトルを破壊的に1/k倍し,このベクトルを返します.
  • normalize(len)
    • このベクトルと同じ向きで長さがlen(省略すると1)の新しいベクトルを返します.
  • normalizeX(len)
    • このベクトルの長さを,向きを変えずにlen(省略すると1)に破壊的に変更し,このベクトルを返します.
  • innerProduct(x,y,z)
    • このベクトルとベクトル(x,y,z)との内積を返します.
  • innerProduct(v)
    • このベクトルとベクトルvとの内積を返します.
  • product(x,y,z)
    • このベクトルとベクトル(x,y,z)との外積をあらわす新しいベクトルを返します.
  • product(v)
    • このベクトルとベクトルvとの外積をあらわす新しいベクトルを返します.
    • ※2018-0807以前のバージョンでは「ベクトルv」と「このベクトル」の順序で計算していました.
  • rotate(deg, axis)
    • このベクトルをaxisを軸にdeg度回転した新しいベクトルを返します.
    • axisを省略すると(0,0,1)になり,x,y成分の回転を行います
  • rotateX(deg, axis)
    • このベクトルをaxisを軸にdeg度破壊的に回転させ,このベクトルを返します.
    • axisを省略すると(0,0,-1)になり,x,y成分の回転を行います
      • Tonyuの通常の座標系では,deg度の右回転になります
    • ※2018-0807以前のバージョンでは,axisの省略値は(0,0,1)でした.
  • set(x,y,z)
    • このベクトルに(x,y,z)の内容を破壊的にコピーします.
  • set(v)
    • このベクトルにvの内容を破壊的にコピーします.

Backlink

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.