# EyeSim - Worldフォーマット

ロボットの環境は"world"フォーマットファイルによって定義することができます ("Pioneer Saphira"によっても使用されます)。

### 基本

ASCIIテキストファイルと使って環境を定義します。セミコロン";"で始まる行は行末までコメント行になります。 初めに、環境全体の寸法をmm単位で定義しなければなりません。

例:

    width 4680
    height 3240

壁は2Dの直線[x1,y1, x2,y2]で定義します。そのとき4つの整数が必要です。

例:

    ;rectangle
    0 0 0 1440
    0 0 2880 0
    0 1440 2880 1440
    2880 0 2880 1440

### 方位の変更

スタックを使ってローカル位置（位置と方位）を設定することができます。 これにより、物体座標における物体の記述を容易にし、全体座標でオフセットや回転を指定することができます。そのためには、pushとpopによって物体の定義を囲む必要があります。pushとpopはネスティングすることができます。pushには[x,y, phi]というパラメータが必要で、popにはパラメータは必要ありません。

例:

    push 100 100 45
    0 0 200 0
    0 0 200 200
    pop

### ロボットのスタート位置

ロボットのスタート位置と方位は[x,y, phi]で指定します。

例:

    position 180 1260 -90