
by Bill Spezeski
This project uses a fractal formula from Logo Models and Methods for Problem Solving to create six-sided snowflakes by altering one variable in the formula.
This project illustrates
; from Chapter 8 of Models and Methods for Problem Solving ; by Bill Spezeski TO SETUP.FRAC :NPTS :M :R :SCALE :TILT CS FS WINDOW MAKE "ANGLE :M*(360/:NPTS) MAKE "LSIDE :R*(SIN :ANGLE/2) MAKE "ADJUST (180-:ANGLE)*:TILT + (360-:ANGLE)*(1-:TILT) SETH 0 PU FD :R/2 PD RT 90 + :ANGLE/2 + :ADJUST DRAW.FRAC :NPTS :LSIDE END TO DRAW.FRAC :NPTS :LSIDE IF :LSIDE < 10 STOP LT :ADJUST REPEAT :NPTS [FD :LSIDE DRAW.FRAC :NPTS :LSIDE * :SCALE RT :ANGLE] RT :ADJUST END TO SETUP.FRACT :NPTS :M :R :SCALE :TILT :LEVEL CS SETBG "NAVY SETPC "WHITE FS WINDOW MAKE "ANGLE :M * (360/:NPTS) MAKE "LSIDE :R * (SIN :ANGLE /2) MAKE "ADJUST (180 - :ANGLE) * :TILT + (360 - :ANGLE) *(1- :TILT) SETH 0 PU FD :R /2 PD DRAW.FRACT :NPTS :LSIDE :LEVEL END TO DRAW.FRACT :NPTS :LSIDE :LEVEL IF :LEVEL = 0 [STOP] LT :ADJUST REPEAT :NPTS [FD :LSIDE DRAW.FRACT :NPTS :LSIDE * :SCALE (:LEVEL - 1) RT :ANGLE] RT :ADJUST END HT (FOR "I 1 21 [SETUP.FRACT 6 1 100 .5 :i/10 4 WAIT 500] 2)