家紋: 石持地抜き隅立四つ目

Last modified: 2019 年 03 月 21 日 00 時

家紋の隅立四つ目。石持はこくもちと読む。

参考書籍:

主な使用関数: Circledata, Reflectdata, Shade, Listplot.

石持地抜き隅立四つ目

Cinderella 2での作図

KeTCindyのスクリプトを利用したいので、templete1basic.cdyなどを開いて、これを別名に保存します。
円ツール、直線ツールと法線ツール法線ツールを使って、図のように円AB直線ABとその法線を描きます。また、ずれないように点A点Bは固定(pinning)します。

基本図

角の二等分線角の二等分線を2本引いて、線分ツールで菱形に囲います。円が4等分されました。

円を4つに割る

菱形に内接する正方形を描き、縦・横軸との交点を求めておきます。

内接正方形

図の交点Lの上に(縦軸上)、点Pをおいて、円LPを描きます。これが四つ目の"目"の部分に当たります。

小円を描く

"目"は角を上下に向けた正方形です。これを描くにはCircledataを使うのがお手軽です。

Circledata("1",[L,P],["Num=4"]);

円を描く関数ですが、分割数が4、["Num=4"]としたので、円に内接する正方形になります。

Circledataの活用

これを正方形の各辺の中点に対称移動させます。

Reflectdata("2","cr1",[A,G]);
Reflectdata("3","cr1",[A,B]);
Reflectdata("4","cr1",[A,F]);

目を対称移動

四つ目の目はもっと小さいので、

P.y=L.y+0.3;

とします。0.3の値をいろいろ変えると雰囲気が変わりますね。

目を小さく

石持ちの地抜き紋なので、以下のように色分けします。

色分けの説明

次のようにして、太めの白線を引きます。

style=["Color=white","dr,6"];
Listplot("1a",[F,H],style);
Listplot("1b",[G,K],style);

同じ太さやカラー設定の図形はstyle=[....]というようにまとめてしまうのと、コードも読みやすく、変更するときに便利です。

白線を引く

最後に、記述する順番に気をつけてShadeを使って塗り分けます。

Framedata("0",[SW,NE],["corner"]);
Circledata("0",[A,B],["nodisp","Num=600"]);
Listplot("0",[B,C,D,E,B],["nodisp"]);

fillW=["Color=white"];
Shade(["fr0"]);
Shade(["cr0"],fillW);
Shade(["sg0"]);

style=["Color=white","dr,6"];
Listplot("1a",[F,H],style);
Listplot("1b",[G,K],style);

P.y=L.y+0.3;
Circledata("1",[L,P],["Num=4"]);
Reflectdata("2","cr1",[A,G]);
Reflectdata("3","cr1",[A,B]);
Reflectdata("4","cr1",[A,F]);
Shade(["cr1"],fillW);
Shade(["re2"],fillW);
Shade(["re3"],fillW);
Shade(["re4"],fillW);

Shadeで塗り分け

これで石持地抜き隅立四つ目の出来上がりです。

[このページのトップへ]

サンプルファイルとCindyScriptコード

サンプルファイル(.cdy)出力されたPDFファイルのダウンロード
Ketinit();
Setunitlen("8mm");
Addax(0);

Framedata("0",[SW,NE],["corner"]);
Circledata("0",[A,B],["nodisp","Num=600"]);
Listplot("0",[B,C,D,E,B],["nodisp"]);
fillW=["Color=white"];
Shade(["fr0"]);
Shade(["cr0"],fillW);
Shade(["sg0"]);

style=["Color=white","dr,6"];
Listplot("1a",[F,H],style);
Listplot("1b",[G,K],style);

P.y=L.y+0.3;
Circledata("1",[L,P],["Num=4"]);
Reflectdata("2","cr1",[A,G]);
Reflectdata("3","cr1",[A,B]);
Reflectdata("4","cr1",[A,F]);
Shade(["cr1"],fillW);
Shade(["re2"],fillW);
Shade(["re3"],fillW);
Shade(["re4"],fillW);

Windispg();

[このページのトップへ]