練習:螺旋を描く
引き続き、簡易お絵かきクラスを使った練習。樹木曲線の流用で。
require "painter" include Math UNIT = 1 TURN = 5 INCR = 0.005 def to_radian(d) d * Math::PI / 180 end def curve(p, n, length, angle) x = length * sin(to_radian(angle)) * UNIT y = length * cos(to_radian(angle)) * UNIT * -1 p.draw(x, y) if n > 0 curve(p, n - 1, length + INCR, angle + TURN) end p.move(-x, -y) end p = Painter.new(200, 128) curve(p, 2000, 1, 0) Tk.mainloop