############################################### # # This file was written by James Lehman. # creator of LaserBoy, # # the free, multiplatform laser display application # that reads this format. # # # Extra Stimulus Inc., Akron, Ohio USA # http://laserboy.org/ # # ASCII format version: LaserBoy-txt-08-04-2021 # ############################################### #math phase_cycle 360.0 #math rotation_cycle 1.0 #math interval_cycle 1.0 math iterations 6000 math _iterations 6000 math frames 100 math still_frames 1 math first_frames 10 math last_frames 10 math hues_span_factor 1.0 math hues_shift 5 math normalize_frames_individually 0 math normalize_frames_with_origin 0 math include_unit_reference 0 #math intra_interval_interpolation 0 #---------------------------------------------- # single frame forms #---------------------------------------------- #---------------------------------------------- # https://en.wikipedia.org/wiki/Rhodonea # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # LBO3 phase += (phase_cycle / 4) # ratio = rhodonea_numerator / rhodonea_denominator # # x = radius * LBO1(ratio * t) * LBO2(t) # y = radius * LBO3(ratio * t) * LBO4(t) math fixed_radius 1.0 math rhodonea_numerator 37.0 math rhodonea_denominator 91.0 math LBO1 function triangle math LBO2 function trapezoid math LBO3 function triangle math LBO4 function trapezoid math duration 45.5 math oscillator_rhodonea math color_rgb 255 0 0 math render math LBO_reset_all #---------------------------------------------- # https://en.wikipedia.org/wiki/Epicycloid # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # ratio = fixed_radius / roller_radius; # # x = roller_radius * (ratio + 1) * LBO1(t) # - roller_radius * LBO2((ratio + 1) * t) # # y = roller_radius * (ratio + 1) * LBO3(t) # - roller_radius * LBO4((ratio + 1) * t) math fixed_radius 1.0 math roller_radius 37.0 math LBO1 pulse 1.0 math LBO3 pulse 1.0 math duration 37.0 math oscillator_epicycloid math color_rgb 255 255 0 math render math LBO_reset_all #---------------------------------------------- # https://en.wikipedia.org/wiki/Epitrochoid # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # ratio = fixed_radius / roller_radius; # # x = roller_radius * (ratio + 1) * LBO1(t) # - roller_offset * LBO2((ratio + 1) * t) # # y = roller_radius * (ratio + 1) * LBO3(t) # - roller_offset * LBO4((ratio + 1) * t) math fixed_radius 1.0 math roller_radius 71.0 math roller_offset 62.0 math LBO2 duty_cycle 0.25 math LBO2 sin 0.0 math LBO2 ramp 1.0 math LBO2 pulse 0.5 math LBO2 trapezoid 1.0 math LBO4 duty_cycle 0.25 math LBO4 sin 0.0 math LBO4 ramp 1.0 math LBO4 pulse 0.5 math LBO4 trapezoid 1.0 math duration 71.0 math oscillator_epitrochoid math color_rgb 255 0 127 math render math LBO_reset_all #---------------------------------------------- # https://en.wikipedia.org/wiki/Hypocycloid # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # ratio = fixed_radius / roller_radius # # x = (fixed_radius - roller_radius) * LBO1(t) # + roller_radius * LBO2((ratio - 1) * t) # # y = (fixed_radius - roller_radius) * LBO3(t) # - roller_radius * LBO4((ratio - 1) * t) math fixed_radius 91.0 math roller_radius 50.0 math LBO1 sin 0.0 math LBO1 pulse 1.0 math LBO1 trapezoid 1.0 math LBO2 function trapezoid math LBO3 sin 0.0 math LBO3 triangle 1.0 math LBO3 pulse 1.0 math LBO4 function trapezoid math duration 50.0 math oscillator_hypocycloid math color_rgb 0 255 255 math render math LBO_reset_all #---------------------------------------------- # https://en.wikipedia.org/wiki/Hypotrochoid # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # ratio = center_radius / roller_radius # # x = (center_radius - roller_radius) * LBO1(t) # + roller_offset * LBO2((ratio - 1) * t) # # y = (center_radius - roller_radius) * LBO3(t) # - roller_offset * LBO4((ratio - 1) * t) math fixed_radius 91.0 math roller_radius 1.0 math roller_offset 40.0 math LBO1 frequency 2.0 math LBO1 duty_cycle 0.25 math LBO2 frequency 3.0 math LBO3 frequency 2.0 math LBO4 frequency 3.0 math duration 0.5 math oscillator_hypotrochoid math color_rgb 127 0 127 math render math LBO_reset_all #---------------------------------------------- # animated frames forms #---------------------------------------------- #---------------------------------------------- # https://en.wikipedia.org/wiki/Rhodonea # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # LBO3 phase += (phase_cycle / 4) # ratio = rhodonea_numerator / rhodonea_denominator # # x = radius * LBO1(ratio * t) * LBO2(t) # y = radius * LBO3(ratio * t) * LBO4(t) math fixed_radius 1.0 math rhodonea_numerator 7.5 math rhodonea_denominator 8.0 math _fixed_radius 1.0 math _rhodonea_numerator 8.5 math _rhodonea_denominator 8.0 math _LBO2 function trapezoid math _LBO4 function trapezoid math start 0.0 math duration 16.0 math _start 0.0 math _duration 16.0 math _oscillator_rhodonea math color_span_hues math render math LBO_reset_all #---------------------------------------------- # https://en.wikipedia.org/wiki/Epicycloid # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # ratio = fixed_radius / roller_radius; # # x = roller_radius * (ratio + 1) * LBO1(t) # - roller_radius * LBO2((ratio + 1) * t) # # y = roller_radius * (ratio + 1) * LBO3(t) # - roller_radius * LBO4((ratio + 1) * t) math fixed_radius 7.0 math roller_radius 37.0 math _fixed_radius 7.0 math _roller_radius 37.0 math LBO1 function square math LBO3 function square math duration 37.0 math _duration 37.0 math _oscillator_epicycloid math color_rgb 255 0 127 math render math LBO_reset_all #---------------------------------------------- # https://en.wikipedia.org/wiki/Epitrochoid # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # ratio = fixed_radius / roller_radius; # # x = roller_radius * (ratio + 1) * LBO1(t) # - roller_offset * LBO2((ratio + 1) * t) # # y = roller_radius * (ratio + 1) * LBO3(t) # - roller_offset * LBO4((ratio + 1) * t) math fixed_radius 1.0 math roller_radius 1.0 math roller_offset 36.0 math _fixed_radius 37.0 math _roller_radius 1.0 math _roller_offset 36.0 math LBO1 function trapezoid math LBO2 function trapezoid math LBO3 function trapezoid math LBO4 function trapezoid math _LBO1 function triangle math _LBO2 function triangle math _LBO3 function triangle math _LBO4 function triangle math start 0.1 math duration 1.0 math _start 0.1 math _duration 1.0 math _oscillator_epitrochoid math color_rgb 127 0 255 math render math LBO_reset_all #---------------------------------------------- # https://en.wikipedia.org/wiki/Hypocycloid # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # ratio = fixed_radius / roller_radius # # x = (fixed_radius - roller_radius) * LBO1(t) # + roller_radius * LBO2((ratio - 1) * t) # # y = (fixed_radius - roller_radius) * LBO3(t) # - roller_radius * LBO4((ratio - 1) * t) math fixed_radius 3.0 math roller_radius 2.0 math _fixed_radius 3.0 math _roller_radius 1.993 math LBO1 function ramp math LBO2 function triangle math LBO3 function ramp math LBO4 function triangle math _LBO1 function ramp math _LBO2 function trapezoid math _LBO3 function ramp math _LBO4 function trapezoid math start 0.25 math duration 2.0 math _start 0.25 math _duration 100.0 math _oscillator_hypocycloid math color_rgb 255 255 0 math render math LBO_reset_all #---------------------------------------------- # https://en.wikipedia.org/wiki/Hypotrochoid # # LBO1 phase += (phase_cycle / 4) // convert to cosine-like function # LBO2 phase += (phase_cycle / 4) # ratio = center_radius / roller_radius # # x = (center_radius - roller_radius) * LBO1(t) # + roller_offset * LBO2((ratio - 1) * t) # # y = (center_radius - roller_radius) * LBO3(t) # - roller_offset * LBO4((ratio - 1) * t) math fixed_radius 6.4 math roller_radius 13.0 math roller_offset 11.0 math _fixed_radius 6.6 math _roller_radius 13.0 math _roller_offset 11.0 math LBO1 function triangle math LBO2 function trapezoid math LBO3 function triangle math LBO4 function trapezoid math _LBO1 function triangle math _LBO2 function trapezoid math _LBO3 function triangle math _LBO4 function trapezoid math start 0.25 math duration 65.0 math _start 0.25 math _duration 65.0 math _oscillator_hypotrochoid math color_rgb 127 255 127 math render math LBO_reset_all ############################################### ###############################################