亀甲
亀甲にはいろいろなパターンがありますが,まず基本的な亀甲を描きましょう。次の図です。
基本パターンをつぎのようにとってみます。横と斜め上で共通している線分は省略するのです。
檜垣や寄木と違うのは,線がつながっている:折れ線になっていることです。
折れ線は一つ一つの線を 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(点のリスト)
で描く。