Skip to content
hoge1e3 edited this page Nov 21, 2019 · 8 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