家紋: 石持地抜き隅立四つ目
Last modified: 2019 年 03 月 21 日 00 時
家紋の隅立四つ目。石持はこくもちと読む。
参考書籍:
- 家紋の話 ―上絵師が語る紋章の美― / 泡坂妻夫 / 新潮選書
- 卍の魔力、巴の呪力 / 泡坂妻夫 / 新潮選書
主な使用関数: Circledata, Reflectdata, Shade, Listplot.
Cinderella 2での作図
KeTCindyのスクリプトを利用したいので、templete1basic.cdyなどを開いて、これを別名に保存します。
円ツール、直線ツールと法線ツールを使って、図のように円ABと直線ABとその法線を描きます。また、ずれないように点Aと点Bは固定(pinning)します。
角の二等分線を2本引いて、線分ツールで菱形に囲います。円が4等分されました。
菱形に内接する正方形を描き、縦・横軸との交点を求めておきます。
図の交点Lの上に(縦軸上)、点Pをおいて、円LPを描きます。これが四つ目の"目"の部分に当たります。
"目"は角を上下に向けた正方形です。これを描くにはCircledataを使うのがお手軽です。
Circledata("1",[L,P],["Num=4"]);
円を描く関数ですが、分割数が4、["Num=4"]としたので、円に内接する正方形になります。
これを正方形の各辺の中点に対称移動させます。
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);
これで石持地抜き隅立四つ目の出来上がりです。
[このページのトップへ]サンプルファイルと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();
[このページのトップへ]