09 描画
図形の描画や関数のグラフ,方程式で表された曲線を描画します。
図形の描画
点を打ったり線を描く描画関数です。座標はリスト[x,y]で与えます。
描画関数では,線の太さや色をオプション(修飾子)で指定できます。よく使うのはつぎのものです。
オプションは -> (ハイフンと不等号)を使って指定します。
size : 点の大きさ,線の太さ。
color : 色をRGBのリストで指定します。範囲は0〜1です。
alpha : 透明度で,値は0〜1です。
dashtype:線種 1:破線 3:点線 4:1点鎖線 など
点を打つ:draw(座標)
例:(2,1)に赤で点を打つ。draw([2,1],color->[1,0,0])
線分を描く:draw([座標,座標])
例:(2,1),(-2,3) を両端とする線分を太さ2で描く。draw([[2,1],[-2,3]],size->2)
※ draw(座標,座標) でも可です。
直線を描く:draw(join(座標,座標))
例:(2,1),(-2,3) を通る直線を太さ2で描く。draw(join([2,1],[-2,3]),size->2)
折れ線を描く:connect(点のリスト)
多角形を描く:drawpoly(点のリスト)
中を塗った多角形を描く:fillpoly(点のリスト)
円を描く :drawcircle(中心,半径)
中を塗った円を描く:fillcircle(中心,半径)
関数のグラフ
関数のグラフでも,直線と同様のオプションが使えます。
y=f(x) のグラフ : plot(f(x))
媒介変数表示 x=f(t) ,y=g(t) : plot([f(t),g(t)])
定義域を指定する場合は,start(始値) と stop(終値) のオプションをつけます。
媒介変数表示の場合,始値のデフォルトが0になっています。
曲線は,実際には定義域を細かく分割して折れ線を描いています。媒介変数表示の場合,まさに折れ線に見えてしまうことがあります。そのような場合は,オプション steps を使います。 steps->100 などとすると細かくなります。y=f(x)のグラフでは steps ではなく,pxlres を使います。pxlres->1 は1ピクセルあたり1点をプロットします。
文字の表示
drawtext(座標,文字列) 文字を描画面に表示します。文字列は単に数やリストでも結構です。
オプションには,サイズ size や色 color のほか,太字:bold->true 斜体:italics->true があります。
フォントを変えるには family->フォント名 を使います。
使えるフォントを調べるには fontfamilies() を使って println(fontfamilies()); とすれば。コンソールに表示されます。
あるいは,点をひとつ取っておいてインスペクタを開き,フォントを「その他のフォント」にすると一覧が出ます。こちらはアルファベット順になっていますので探しやすいでしょう。
ユニコード:unicode(コード)
Cinderellaは基本的にユニコードを採用しています。漢字変換で出てこない文字は,コード番号を4桁で文字列にしてunicode() に渡すとその文字を表示できます。
TeX記法
CindyscriptではTeX記法が使えます。文字列を$$ではさめばよいのです。
ただし,TeXのすべての記法が使えるわけではありません。たとえば,分数では frac{}{}は使えますが dfarc{}{} は無効です。
表:drawtable(位置,リスト)
1次または2次のリストで表ができます。位置は表の左下の位置です。
表のセルの幅,高さは width,height オプションによりピクセル単位で指定できます。
その他にもいろいろなオプションがあります。