Anonymous user
Hilbert curve: Difference between revisions
→{{header|Ruby}}
No edit summary |
|||
Line 2,251:
Implemented as a Lindenmayer System, depends on JRuby or JRubyComplete
<lang Ruby>
# frozen_string_literal: true
attr_reader :hilbert
def settings
Line 2,290 ⟶ 2,292:
end
Turtle = Struct.new(:x, :y, :theta)
# Hilbert Class has access to Sketch methods eg :line, :width, :height
class Hilbert
include Processing::Proxy
DELTA =
def initialize
@axiom = 'FL'
Line 2,308 ⟶ 2,310:
stroke 0, 255, 0
stroke_weight 2
@turtle =
end
Line 2,320 ⟶ 2,319:
draw_line(turtle)
when '+'
when '-'
when 'L'
when 'R'
Line 2,331 ⟶ 2,330:
def draw_line(turtle)
x_temp = turtle
y_temp = turtle
line(x_temp, y_temp, turtle
end
##############################
# create grammar from axiom and
# rules (adjust scale)
##############################
def create_grammar(gen)
|