備忘録としてメモ。
CFDGについてはここに詳しく説明されている。
リフェレンスカードにわかりやすくまとめられているので印刷しておくと便利かも。
ContextFreeがどんな物か一番理解しやすいのが、
アプリケーションについてるExampleだと思う。
これで、どんな事ができるのかわかるし、
これを元に値を変更してレンダリングしてみるだけで楽しい。
メニューバーのhelpにlessonファイルも用意されている
これで一通り理解できるようになっているみたい。
僕も基本的な使い方を解説しみますが、
プログラミング自体が初心者なので
言葉の使い方とか間違いが多いと思います、ご了承ください。
まず、簡単なコードの解説から
startshape MARU
rule MARU{
CIRCLE{}
}
このコードをレンダリングすると黒い丸が一つ描かれます。先頭の startshape はその後に書かれた名前の図形を描くという意味、
この場合はMARUという名前の図形を描くという意味になる。
そしてそのMARUという図形の中身が以下に書かれている。
改行自体にはあまり意味はないので改行せずに書くと
rule MARU{CIRCLE{}} となる。
これは rule 図形の名前{図形の内容} という規則になっている。
つまり、名前がMARUで内容はCIRCLE{}の図形の定義ですってことかな。
ちなみにCIRCLEってゆうのは元々用意されている図形です、
他にもSQUARE と TRIANGLE ってゆう図形も用意されている。
名前の通り、それぞれ丸と四角と三角。
ContextFreeはこの三つの基本図形を使っていろんな形を描いていくのです。
以下のコードをレンダリングして三つの図形をだしてみると、
startshape main
rule main{
CIRCLE{}
SQUARE{x 2 size 2 hue 0 saturation 1 brightness 1}
TRIANGLE{x 4 s 2 h 30 sat 1 b 4}
}

丸と四角と三角が表示される。
一つのルールの中にはいくつ図形が入っていてもよい。
見ればわかると思いますが、四角と三角は色やサイズをかえてあります、
SQAREとTRIANGLEは{}の中にそれぞれ位置やサイズや色を指定するオプションを入れている
図形を使用する場合その{}内に色んな値を指定することで形や色を替える事ができる。
x 2 と入れるとx位置を2移動させるという意味 size 2 だとサイズが2倍になる。
以下よく使うオプション。
x 数字 //x位置を指定した数字だけ移動
y 数字 //y位置を指定した数字だけ移動
size 数字 //図形を指定した数字倍にする、0.5だと半分のサイズになる。
size 数字1 数字2 //x方向に数字1 倍 y方向に数字2 倍
rotation 数字 //回転角度
hue 数字(0~360) //色相
saturation 数字(-1~1) //彩度
brightness 数字(-1~1) //明度
alpha 数字(-1~1) //透明度
ちなみに size 3 は s 3 などのようにアルファベット1文字で省略して書く事ができます、
saturationはs だとsizeと被るので省略すると sat になる。
ちなみに 0.1 などの0以下の少数は 0を省略して .1 のように書く事ができる。
色の指定はHSB方式
これらのオプション値を使って図形を変形させる事ができるのです。
startshape main
rule main{
SQUARE{s 1 4 h 40 sat 1 b 1 }
SQUARE{s 4 1h 20 sat 1 b 1 a -.4 }
}
このコードを解説すると
mainってゆう名前のルールを描画します
mainってゆう名前のルールの中身は
四角をy方向(縦)に4倍して色(色相40彩度1明度1)を変えたのと
四角をx方向(横)に4倍して色(色相20彩度1明度1透明度0.4)を変えたもの
です。
ってゆう感じの意味になります。
今日は疲れたのでここまでです、また次回。


0 コメント:
コメントを投稿