ピクトグラミングでは,視点の異なる3通りの図形描画方式をサポートしています.図に例を示します.それぞれ,(a)ヒューマングラフィックス,(b)タートルグラフィックス,(c)座標グラフィックスと呼称しています.
今回,(b)のタートルグラフィックスの機能を拡張しました.
変更点は,
1. 移動や進行方向の変化に時間の概念を取り入れた.
2. 回転,移動と同じく,「待ち」命令を取り入れた.
です.拡張した,タートルグラフィックス関係の命令様式と処理内容は以下の表のとおりです.
これによりFD,BK,RT,LT命令は,第2引数に時間を指定できるようになりました.また,後ろにWをつけたFDW,BKW,RTW,LTW命令を新たに追加しました.Wが付くか付かないかの挙動は,R,RW命令やM,MW命令と同様の対応関係になっています.
命令の様式 | 処理 |
---|---|
FD arg1 [arg2] | 人型ピクトグラムを進行方向にarg2 秒かけて距離 arg1 だけ等速で進める.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う. |
BK arg1 [arg2] | 人型ピクトグラムを進行方向と逆向きにarg2 秒かけて距離 arg1 だけ等速で進める.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う. |
RT arg1 [arg2] | 人型ピクトグラムの進行方向をarg2 秒かけて時計回り方向に角度 arg1 だけ等角速度で回転する.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う. |
LT arg1 [arg2] | 人型ピクトグラムの進行方向をarg2 秒かけて反時計回り方向に角度 arg1 だけ等角速度で回転する.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う. |
FDW arg1 [arg2] | 人型ピクトグラムを進行方向にarg2 秒かけて距離 arg1 だけ等速で進める.移動が終了するまで次の命令は実行されない.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う. |
BKW arg1 [arg2] | 人型ピクトグラムを進行方向と逆向きにarg2 秒かけて距離 arg1 だけ等速で進める.移動が終了するまで次の命令は実行されない.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う. |
RTW arg1 [arg2] | 人型ピクトグラムの進行方向をarg2 秒かけて時計回り方向に角度 arg1 だけ等角速度で回転する.回転が終了するまで次の命令は実行されない.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う. |
LTW arg1 [arg2] | 人型ピクトグラムの進行方向をarg2 秒かけて反時計回り方向に角度 arg1 だけ等角速度で回転する.回転が終了するまで次の命令は実行されない.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う. |
また各言語の表記は以下の通りです.
英語表記 | 英語 | 日本語 | にほんご |
---|---|---|---|
FD | Forward fd |
前進 | ぜんしん |
BK | Backward bk |
後進 | こうしん |
RT | RightTurn rt |
右回り | みぎまわり |
LT | LeftTurn lt |
左回り | ひだりまわり |
FDW | ForwardWait fdw |
前進待ち | ぜんしんまち |
BKW | BackwardWait bkw |
後進待ち | こうしんまち |
RTW | RightTurnWait rtw |
右回り待ち | みぎまわりまち |
LTW | LeftTurnWait ltw |
左回り待ち | ひだりまわりまち |
例えば最も一般的な,正方形を描画する命令は,以下です.これはこれまでもサポートしていました.
SK SC 0.2 PEN DOWN REPEAT 4 FD 100 RT 90 END
一方これに,FDとRTの第2引数に1を入力すると円になります.これは,「1秒間かけて,100等速で進みつつ,90度等加速度で回転する」を同時に4回繰り返すからです.
SK SC 0.2 PEN DOWN REPEAT 4 FD 100 1 RT 90 1 END
一方FDWとRTWにすると正方形になります.これは,「1秒間かけて,100等速で進み,そのあと1秒かけて90度等加速度で回転する.」を4回繰り返すからです.
SK SC 0.2 PEN DOWN REPEAT 4 FDW 100 1 RTW 90 1 END
(a) ヒューマングラフィックと同様,命令の組み合わせ方で様々な(b)タートルグラフィックスが描画できます.例えば,次のような命令を実行すると(図)に示すピクトグラムが作成できます.
SK SC 0.2 PEN DOWN FD 2000 4 REPEAT 2 RTW 360 1 LTW 360 1 RT 90 END