第2章 基本概念
著者:梅谷 武
語句:ToposNote, 基本概念, 座標系, トポスオブジェクト
ToposNoteの基本概念について述べる。
作成:2009-12-18
更新:2011-03-08
 ToposNoteにおいては、空間内に世界座標系world coodinate systemと呼ばれる右手系の正規直交座標系(O;e1,e2,e3)を定め、それを基準とします。
 世界座標系の各座標軸はX軸(e1)、Y軸(e2)、Z軸(e3)と呼ばれ、X-Y平面が水平面、Z軸が鉛直方向の上方向、Y軸は北方向、X軸は東方向に対応しています。
 地図は世界座標系のX-Y平面にユニバーサル横メルカトル図法universal transverse mercatorにより投影されます。
 ToposNoteの画面は空間をカメラで投影したものであり、画面の中心にはつねにカメラの視参照点を原点とするカーソル座標系cursor coordinate system(Oc;e1,e2,e3)が存在します。これは世界座標系を平行移動したもので、物体操作はこのカーソル座標系を基準にして行なわれます。
 カーソル座標系の位置はその原点の位置座標t(Cx Cy Cz)によって示すことができます。カーソル座標系による座標t(x' y' z')と世界座標系による座標t(x y z)との間の座標変換は次のように表すことができます。
(1)
lb144
x
y
z
1
rb144 = lb144
1
0
0
Cx
0
1
0
Cy
0
0
1
Cz
0
0
0
1
rb144 lb144
x'
y'
z'
1
rb144
 ToposNoteの画面に対して、物体が定義されたファイルをドラッグ&ドロップするとき、物体座標系modeling coordinate system をカーソル座標系と一致させ、物体の外接直方体の重心が原点と一致し、原点を中心として一辺が2の立方体にちょうど外接するように拡大縮小・平行移動され、仮想空間内の3Dオブジェクトが生成されます。Luaスクリプトによって直接図形を定義する場合、OBJ形式のような正規化は行なわれません。
 Luaスクリプトから物体の定義ファイルを読み込む場合、あるいはすでに存在する3Dオブジェクトを操作する場合には、世界座標系を基準とした位置と姿勢を指定することができます。
 物体座標系の位置はその原点の位置座標t(Mx My Mz)により、 姿勢は回転行列A = (aij) ∈ SO(3)により表現することができます。物体座標系による座標t(x'' y'' z'')と世界座標系による座標t(x y z)との間の座標変換は次のように表すことができます。
(2)
lb144
x
y
z
1
rb144 = lb144
a11
a12
a13
Mx
a21
a22
a23
My
a31
a32
a33
Mz
0
0
0
1
rb144 lb144
x''
y''
z''
1
rb144
 物体の姿勢を人間が表現する場合には、回転行列よりもオイラー角で表した方がわかりやすいため、ToposNoteにおける回転表現はオイラー角を使います。この場合、ジンバルロックgimbal lockに注意しなければなりません。
 このジンバルロックを避けるために次の原則を推奨します。
  1. オイラー角で姿勢を与えるときには、なるべく特異点から離れた表現を使う。
  2. 軌道計算は四元数によって行い、結果を特異点から遠いオイラー角表現に変換する。
 ジンバルロックを避けるために常に適切な局所座標系local coordinate systemを選ぶというこの原則は、現代数学における多様体manifoldの概念に対応しています。
 オイラー角表現の種類としては、KMLやCOLLADA形式と同じ右手系のヨー・ピッチ・ロールを使います。
 ToposNoteは空間内にさまざまな種類のデータを貼り付けることができます。データの種類はファイルの後尾に付く三文字の拡張子によって判別されます。おもなデータ形式は次の4種類です。
  1. Lua形式
  2. OBJ形式
  3. JPEG形式
  4. GPX形式
これ以外の種類のデータについては第9章を参照してください。
 これらのデータを貼り付けると、プログラム内部ではトポスオブジェクトtopos objectと呼ばれる空間属性をもつ内部オブジェクトが生成されます。
 これらは名前で参照する配列、いわゆる連想配列として扱われます。名前を指定しなくてもオブジェクトを生成することができますが、その場合でも内部で名前が自動生成され、連想配列に登録されています。
 トポスオブジェクトの名前とは英数字から成る256文字以下の文字列であり、重複を許しません。同じ名前でオブジェクトを登録すると古い方のオブジェクトが削除されます。
 すべてのトポスオブジェクトは次の属性を持っています。
  1. 物体座標系の位置座標:(Mx, My, Mz)
  2. 物体座標系の方位角:Yaw ∈ [-180.0, 180.0]
  3. 物体座標系の仰角:Pitch ∈ [-90.0, 90.0]
  4. 物体座標系の傾斜角:Roll ∈ [-180.0, 180.0]
  5. 拡大縮小係数:Scale
  6. 運動軌跡配列:Trajectories
  7. データファイル名:FileName
  8. 関連付けファイル名:Association
語  句
世界座標系 world coodinate system
ユニバーサル横メルカトル図法 universal transverse mercator
カーソル座標系 cursor coordinate system
物体座標系 modeling coordinate system
ジンバルロック gimbal lock
局所座標系 local coordinate system
多様体 manifold
トポスオブジェクト topos object
 
Published by SANENSYA Co.,Ltd.