檜垣

檜垣は次のような模様です。

 

基本パターンのとりかたはいろいろあるでしょうが,ここでは次の図を基本パターンとします。

では,ダウンロードした sasiko.cdy をダブルクリックして開きましょう。(Windowsの場合,.cdy は表示されていないかもしれません。)

開いたら,「スクリプト」メニューの「Cindyscript」を選びます。

スクリプトエディタ(プログラムを書くツール)のウィンドウが開きます。

左側の「Draw」というアイコンの下にある「drawsasiko」をクリックします。(図はMacのものですが,Windowsでも同様です)

右側にプログラムが書かれた画面になります。

もし次のようになっていたら,境界線のところを右にドラッグすると左側が現れます。

基本パターンを描く

drawpat():=( の次の行から ); までの間に,基本パターンを描くプログラム(スクリプト)を書きます。

基本パターンは,方眼ひとつが1として,線分の端点の座標が次のようになっています。

 

線分を描くには,draw([始点,終点]); とします。( ) の中はかぎかっこ [ ] です。始点と終点は座標で表します。

点の座標は,数学では丸いかっこを使いますが,Cindyscriptではかぎかっこを使います。

したがって, 原点(0,0)と点(2,2)を結ぶ線分は

draw([[0,0],[2,2]]);

と書きます。(前後のかぎかっこの数に注意しましょう)

同様にしてあと2つの線分を描くスクリプトを書きます。

draw([[0,0],[3,-3]]);

draw([[1,-1],[2,0]]);

なお,この3つはすでに書かれていますので確かめましょう。

基本パターンがこれで描かれることを確かめます。

18行目の先頭の // をBSキーで消します。

行の先頭に // があるとその行は実行されません。//をとると実行されます。

プログラムを実行するには,Shiftキーを押しながら,Enterキーを軽く打ちます。(Shift + Enter と表します)

drawpat() が実行されて,基本パターンが描かれます。

基本パターンを複製する

次に,基本パターンを平行移動して複製します。

Shiftx=[2,0];  // 1行分描くためのx軸方向へのシフト量

Shifty=[0,4];  // 上への平行移動量

Start=[-20,-12]; //描き始めの位置

と書かれているもののうち,2番目の Shifty と 3番目のStart を次のように書き換えます。

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

Start=[0,0]; //描き始めの位置

そして,drawpat() の前に // を書き,

//makemoyou(20,10);  // 引数は,横と縦のパターン

の//を削除して Shift+Enter で実行します。

Shiftx は横への平行移動量を表します。[2,0]なので,横に2だけ移動します。

Shifty は縦(上)への平行移動量ですが,今は [0,0] にしたので移動しません。

Start は描き始めの位置ですが,[0,0]は原点です。

makemoyou(20,10); は横に20個,縦に10個の模様を描きます。いまは縦には移動しないので横だけです。

今度は,

Shiftx=[0,0];  // 1行分描くためのx軸方向へのシフト量

Shifty=[0,4];  // 上への平行移動量

として実行してみましょう。縦に並ぶはずです。

元の形

Shiftx=[2,0];  // 1行分描くためのx軸方向へのシフト量

Shifty=[0,4];  // 上への平行移動量

Start=[-20,-12]; //描き始めの位置

に戻すと,画面全体に描かれます。

makemoyou(20,10);

の20と10を適当に変えて実行してみると動作がどのようになっているかわかるでしょう。

線の太さを変える

実際に印刷して刺し子に使う場合は,線がもう少し太い方がよいかもしれません。

その場合は,linesize(太さ) で指示をします。太さは始めが1なので,2か3にするとよいでしょう。

1行目の linesize(1) を linesize(2) や linesize(3) に変えてやってみましょう。

次の図は linesize(3) の場合です。

でき上がったら,「ファイル」メニューから「別名で保存」を選んで「檜垣」という名前で保存しておきましょう。

次の図からは,drawpat() の中身と平行移動量を考えていきます。手順を忘れたらこのページにもどってきましょう。

基本パターンその2

基本パターンを次のようにすることもできます。

draw([[2,2],[-1,-1]]);

draw([[0,0],[3,-3]]);