亀甲

亀甲にはいろいろなパターンがありますが,まず基本的な亀甲を描きましょう。次の図です。

基本パターンをつぎのようにとってみます。横と斜め上で共通している線分は省略するのです。

檜垣や寄木と違うのは,線がつながっている:折れ線になっていることです。

折れ線は一つ一つの線を draw() で描かなくても,点の座標を書き並べて,まとめて描くことができます。

まず外側の六角形の半分です。下から時計回りに点の座標を並べると

s1=[[0,-3],[-3,-1.5],[-3,1.5],[0,3]];

となります。点の座標を,コンマで区切り,全体を [ ] でくくります。(このようなものをリストといいます)

同様に,六角形の外側は

s2=[[-2,-1],[-2,1],[0,2],[2,1],[2,-1],[0,-2]];

六角形の内側は

s3=[[-1,-1/2],[-1,1/2],[0,1],[1,1/2],[1,-1/2],[0,-1]];

です。

さて,一番外側は折れ線です。折れ線は connect(点のリスト) で描けます。

connect(s1);

とします。

六角形は多角形です。多角形は drawpoly(点のリスト) で描けます。

drawpoly(s2);

drawpoly(s3);

です。

したがって,基本パターンの定義はつぎのようになります。

drawpat():=(

s1=[[0,-3],[-3,-1.5],[-3,1.5],[0,3]];

s2=[[-2,-1],[-2,1],[0,2],[2,1],[2,-1],[0,-2]];

s3=[[-1,-1/2],[-1,1/2],[0,1],[1,1/2],[1,-1/2],[0,-1]];

connect(s1);

drawpoly(s2);

drawpoly(s3);

);

//drawpat(); 

の先頭の // を削除して基本パターンを描いてみましょう。

間違いなくできたならば(形が違う場合は,座標を書き間違えています)

平行移動量を

    Shiftx=[6,0];  // 1行分描くための横への平行移動量

    Shifty=[3,4.5];  // 上への平行移動量

として,

    makemoyou(12,12);

で描いてみましょう。縦横の数は12でなくてもかまいません。

描き始めの位置も適当でよいですが,Start=[-42,-18]; くらいでどうでしょうか。

☆今回のポイント

折れ線は connect(点のリスト)

多角形は draw poly(点のリスト)

で描く。

<「描画手順をプログラムする」に戻る >