polygon(sides: 6, radius: 10)
辺の長さがそろった多角形。頂点が1つ上を向きます。
sides(辺の数)は3以上です。radius は中心から頂点までの長さです。最初の2つは名前なしでも書けます。polygon(8, 20)。
show polygon(sides: 8, radius: 30).colored(:teal)
遊び場で開く
関連
triangle
star
circle
star(points: 5, radius: 10, inner: radius * 0.45)
塗りつぶした星。
points は角の数、radius は角の先までの長さ、inner はへこんだ部分までの長さです。inner を小さくすると鋭い星に、大きくするとふっくらした星になります。
最初の2つは名前なしでも書けます。star(8, 30)。
show star(points: 8, radius: 30, inner: 24).colored(:gold)
遊び場で開く
関連
polygon
heart
text(string = "asobi", size: 16, font: nil)
文字の絵。
文字も、ほかの形と同じ絵です。色を塗ったり、増やしたり、回したり、並べたりできます。文字列やシンボルは to_art でも同じ絵になるので、"hello".to_art は text("hello") と同じです。
size は文字の大きさ、font はフォントの名前です("serif" など)。省くと、ページの標準のフォントになります。
show text("hello", size: 40, font: "serif").colored(:navy)
遊び場で開く
関連
to_art
path(*points, closed: false, smooth: false)
点を順につなぐ。
点は [x, y] で書きます。x は右、y は下に向かって大きくなります(画面と同じです)。だから [40, -30] は右上です。
そのままなら黒い線です。closed: true にすると最後の点が最初の点につながり、塗りつぶされた形になります。smooth: true にすると、角が滑らかな曲線になります。
できた絵は、外側の四角の中心に置かれるので、ほかの形と揃います。点を1つも書かなければ、見本の線が出ます。
show path([0, 0], [40, -60], [80, 0], [120, -60], smooth: true).outlined(:crimson, width: 3)
遊び場で開く
show path([0, 0], [40, -60], [80, 0], closed: true).colored(:orange)
遊び場で開く
関連
line
arc
wave
arc(radius: 20, from: 0, to: 180)
円の一部を、線で描いたもの。
角度は度で、時計回りです。0 が真上なので、from: 0, to: 180 は右半分になります。
絵の中心は円の中心です。同じ円の弧どうしは、ぴたりと重なります。
show arc(radius: 30, from: 90, to: 360).outlined(:navy, width: 5)
遊び場で開く
関連
wave
path
ring
hsl(hue = 0, saturation = 70, lightness = 50)
色相・彩度・明るさから作る色。
hue(色相)は 0 から 360 の角度です(0 は赤、120 は緑、240 は青)。saturation(彩度)と lightness(明るさ)は 0 から 100 です。
色を書くところなら、どこにでも使えます。虹を作るのにいちばん簡単な方法です。
show circle(30).colored(hsl(200))
遊び場で開く
dots = circle(8).repeat(12).change_each { |dot, t| dot.colored(hsl(t * 360, 80, 55)) }
show dots.in_ring
遊び場で開く
t は 0 から 1 まで進むので、色相がちょうど一周します。
関連
gray
colored
change_each