Lesson 6 人型ピクトグラム画家になる

posted in: 開発者ブログ | 0

ピクトグラミングでは2通りの方法で線画を描くことができます.いずれの場合もPEN命令を使います.まずは,体の部位を使って描く方法です.

 

体の部位を使って描く

PEN命令の様式と処理は以下の通りです.また描画する線の太さを変えるPENW命令もあります.

命令の様式 処理
PEN arg1 [arg2] arg1 がHOLDまたは,UPの場合,ペンを上げる.RELEASEまたは,DOWN の場合,ペンを下げる.arg1がHOLDまたはRELEASEまたはUPまたはDOWNの時に限り,ペンの上げ下げをする体の部位の名称をR,RW命令と同様の表記でarg2に指定できる.arg2が省略された場合は BODYが記述されているものと見なされる.ペンの両端について,arg1がSQUAREの場合,線の両端の形状は四角,arg1がROUNDの場合線,両端の形状を丸を付加する.arg1がBUTTの場合は両端に形状を付加しない.ペンの種類について,arg1 が NORMALの場合は実線を,ERASEの場合は線を消す,XORの場合はすでに描かれていた部分は消し,そうでない部分は描く(反転).

初期状態はペンが上がっている状態で,線の両端の形状は四角(SQUARE),ペンの種類はノーマル(NORMAL).

PENW arg1 ペンの太さ(幅)を arg1 にする.初期状態は1.

 

ペンを持つことができる体の位置は以下の9箇所です

サンプルを示します.

SK
PEN HOLD LLA
REPEAT 4
RW LUA 90
END

で左手を使って四角形を描くことができます.

ちなみに1行目のSK命令は,人型ピクトグラムの体を透明にする命令です.描画の様子がわかりやすくなります.

命令の様式 処理
SK スケルトンモード(Skelton mode)以外で実行するとスケルトンモードに変更する。スケルトンモードで再度命令すると通常モードに変更する。

 

例えば,

SK
PEN HOLD LLA
R LUA 360 1

で左手を使って円を描くことができます.

その他様々な工夫で色々な図形が描画できます.

これまで,R arg1 arg2 0  と RW arg1 arg2 0 は同じ命令でした.M arg1 arg2 0MW arg1 arg2 0 も同じです.しかし,R arg1 arg2RW arg1 arg2M arg1 arg2MW arg1 arg2 は,描画を伴う場合に以下のように異なる挙動となります.

時間0のR命令,M命令は,元の位置と,R命令,M命令からなる複数の命令の動きを全て実行したあとの位置を両端とする線分を描画します.

時間0のRW命令,MW命令は,元の位置とその命令を実行したあとの位置を両端とする線分を描画します.

 

この違いを例に示します.

SK
PENW 10
PEN HOLD LLA
RW LUA 45
RW LUA 45

は下のようになります.左腕の初期位置から,左上腕を反時計回りに45度回転した位置まで線分を描きます.さらに左上腕を反時計回りに45度回転した位置まで別の線分を描きます.

SK
PENW 10
PEN HOLD LLA
R LUA 45
R LUA 45

は下のようになります.左腕の初期位置から,左上腕を反時計回りに90(=45+45)度回転した位置まで線分を描きます.

よって

SK
PENW 10
PEN HOLD LLA
REPEAT 8
RW LUA 45
END

は下のような正8角形を描きますが.

SK
PENW 10
PEN HOLD LLA
REPEAT 8
R LUA 45
END

は何も描きません.なぜなら左腕の初期位置と,初期位置から左上腕を反時計回りに360(=45*8)度回転した位置は同じだからです.

同様に,

SK
PENW 3
PEN HOLD LLA
M 100 0
M 0 100

は下のようになりますが,

 

SK
PENW 3
PEN DOWN LLA
MW 100 0
MW 0 100

は下のようになります.

 

 

歩いて描く

もう一つの方法は歩いて描く方法です.人型ピクトグラムの体の部位を動かすのではなく、人型ピクトグラム自体を動かしましょう。みなさんもその場で体を動かすこともあれば、歩行して移動することもありますよね。歩行の履歴を使って色々な図形を描いてみましょう。

では早速、人型ピクトグラムを歩行させてみましょう。人型ピクトグラムが少し大きすぎるので、人型ピクトグラムの大きさを変えてみましょう。

 

SC 0.1
PEN HOLD

 

1行目の命令、これは人型ピクトグラムの大きさを 0.1 倍にするという意味です。

 

命令の様式 処理
SC arg1 人型ピクトグラムの拡大率をarg1にする.(初期状態は1)

 

動かすのに使う命令は以下の4つです。

命令の様式 処理
FD arg1 人型ピクトグラムを進行方向に距離 arg1 だけ進める.
BK arg1 人型ピクトグラムを進行方向と逆向きに距離 arg1 だけ進める.
RT arg1 人型ピクトグラムの進行方向を時計回り方向に角度 arg1 だけ回転する.
LT arg1 人型ピクトグラムの進行方向を反時計回り方向に角度 arg1 だけ回転する.

 

ちなみに最初の進行方向は上向きになっています。

SC 0.1
PEN HOLD
FD 100

SC 0.1
PEN HOLD
FD 100
RT 90
FD 100

というふうに描けます.

ではこの調子で続けて正方形を書いてみてください.

さらに右に曲がる角度と繰り返す回数を色々変えると様々な形を描くことができます。

 

 

ちなみにこれまでに描いた図形を消す場合は、CS(Clear Screen)命令を使います。

命令の様式 処理
CS ペンによって描画された図形を消去する.

 

ピクトグラミングは視点の異なる2通りの方法で様々な図形を描けるのが特徴です.描画したい図形の性質に応じて適切な方法を使ってみてください.

 

 

Comments are closed.