############################################### # # 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 7200 math still_frames 25 math normalize_frames_individually 0 math normalize_frames_with_origin 0 math include_unit_reference 0 math hues_span_factor 2.0 math hues_shift 60 #---------------------------------------------- # still frame generators #---------------------------------------------- # 1 #---------------------------------------------- math rhodonea_numerator 5.0 math rhodonea_denominator 7.0 math fixed_radius 1.0 math duration 3.5 # https://en.wikipedia.org/wiki/Rhodonea # # ratio = rhodonea_numerator / rhodonea_denominator # # x = fixed_radius * cos(ratio * t) * cos(t) # y = fixed_radius * cos(ratio * t) * sin(t) math rhodonea math color_span_hues math render # 2 #---------------------------------------------- math fixed_radius 3.0 math roller_radius 13.0 math duration 13.0 # https://en.wikipedia.org/wiki/Epicycloid # # ratio = fixed_radius / roller_radius; # # x = roller_radius * (ratio + 1) * cos(t) # - roller_radius * cos((ratio + 1) * t) # # y = roller_radius * (ratio + 1) * sin(t) # - roller_radius * sin((ratio + 1) * t) math epicycloid math color_span_hues math render # 3 #---------------------------------------------- math fixed_radius 3.0 math roller_radius 4.0 math roller_offset 6.0 math duration 4.0 # https://en.wikipedia.org/wiki/Epitrochoid # # ratio = fixed_radius / roller_radius; # # x = roller_radius * (ratio + 1) * cos(t) # - roller_offset * cos((ratio + 1) * t) # # y = roller_radius * (ratio + 1) * sin(t) # - roller_offset * sin((ratio + 1) * t) math epitrochoid math color_span_hues math render # 4 #---------------------------------------------- math fixed_radius 12.0 math roller_radius 5.0 math duration 5.0 # https://en.wikipedia.org/wiki/Hypocycloid # # ratio = fixed_radius / roller_radius # # x = (fixed_radius - roller_radius) * cos(t) # + roller_radius * cos((ratio - 1) * t) # # y = (fixed_radius - roller_radius) * sin(t) # - roller_radius * sin((ratio - 1) * t) math hypocycloid math color_span_hues math render # 5 #---------------------------------------------- math fixed_radius 12.0 math roller_radius 5.0 math roller_offset 15.0 math duration 5.0 # https://en.wikipedia.org/wiki/Hypotrochoid # # ratio = fixed_radius / roller_radius # # x = (fixed_radius - roller_radius) * cos(t) # + roller_offset * cos((ratio - 1) * t) # # y = (fixed_radius - roller_radius) * sin(t) # - roller_offset * sin((ratio - 1) * t) math hypotrochoid math color_span_hues math render # 6 #---------------------------------------------- math LBO1 phase 90.0 math duration 1.0 # https://en.wikipedia.org/wiki/Lissajous_curve # also named oscillator_xy # # x = LBO1(t) # y = LBO2(t) math lissajou math color_span_hues math render math LBO_reset_all # 7 #---------------------------------------------- math LBO1 frequency 2.0 math LBO2 frequency 5.0 math LBO2 phase 180.0 math LBO3 frequency 5.0 math LBO3 phase 180.0 math duration 1.0 # https://en.wikipedia.org/wiki/Lissajous_curve # also named oscillator_xyz # # x = LBO1(t) # y = LBO2(t) # z = LBO3(t) math lissajou_xyz math color_span_hues math render math LBO_reset_all # 8 #---------------------------------------------- # x = t # y = LBO1(t) math oscillator math color_span_hues math render math LBO_reset_all # 9 #---------------------------------------------- math LBO2 amplitude 0.5 math LBO2 frequency 10.0 # x = t # y = LBO1(t) + LBO2(t) math oscillator_sum math color_span_hues math render math LBO_reset_all # 10 #---------------------------------------------- math LBO1 frequency 2.05 math LBO1 phase 120.0 math LBO1 damping 0.02 math LBO2 phase 12.0 math LBO2 damping 0.01 math duration 17.0 # x = LBO1(t) # y = LBO2(t) math oscillator_xy math color_span_hues math render math LBO_reset_all # 11 #---------------------------------------------- math LBO1 frequency 30.1 math LBO1 damping 0.22 math LBO2 frequency 20.0 math LBO2 phase 120.0 math LBO2 damping 0.05 math LBO3 frequency 40.3 math LBO3 damping 0.3 math duration 1.0 # x = LBO1(t) # y = LBO2(t) # z = LBO3(t) math oscillator_xyz math color_span_hues math render math LBO_reset_all # 12 #---------------------------------------------- math LBO1 frequency 7.0 math LBO2 amplitude 2.1 math LBO2 frequency 0.05 math LBO2 phase 90.0 math LBO3 frequency 7.2 math LBO4 amplitude 2.1 math LBO4 frequency 0.05 math duration 20.0 # https://en.wikipedia.org/wiki/Harmonograph # # x = LBO1(t) + LBO2(t) # y = LBO3(t) + LBO4(t) math harmonograph math color_span_hues math render math LBO_reset_all # 13 #---------------------------------------------- math LBO1 frequency 6.0 math LBO2 amplitude 2.1 math LBO2 frequency 0.05 math LBO2 phase 90.0 math LBO3 frequency 6.1 math LBO4 amplitude 2.1 math LBO4 frequency 0.05 math LBO5 frequency 6.0 math LBO6 amplitude 2.1 math LBO6 frequency 0.1 math duration 20.0 # https://en.wikipedia.org/wiki/Harmonograph # # x = LBO1(t) + LBO2(t) # y = LBO3(t) + LBO4(t) # z = LBO5(t) + LBO6(t) math harmonograph_xyz math color_span_hues math render math LBO_reset_all # 14 #---------------------------------------------- math LBO1 frequency 100.0 math LBO2 offset 1.0 math duration 1.0 # x = t # y = LBO1(t) * LBO2(t) math amplitude_mod math color_span_hues math render math LBO_reset_all # 15 #---------------------------------------------- math LBO1 frequency 60.0 math LBO2 offset 1.0 math LBO3 frequency 60.0 math LBO3 phase 90.0 math LBO4 phase 90.0 math LBO4 offset 1.0 math duration 1.0 # x = LBO1(t) * LBO2(t) # y = LBO3(t) * LBO4(t) math amplitude_mod_xy math color_span_hues math render math LBO_reset_all # 16 #---------------------------------------------- math LBO1 frequency 50.0 math LBO2 frequency 50.3 math LBO2 offset 0.7 math LBO3 frequency 50.0 math LBO3 phase 60.0 math LBO4 frequency 50.7 math LBO4 phase 90.0 math LBO4 offset 0.7 math LBO5 frequency 50.0 math LBO5 phase 90.0 math LBO6 frequency 50.9 math LBO6 offset 0.7 math duration 0.5 # x = LBO1(t) * LBO2(t) # y = LBO3(t) * LBO4(t) # z = LBO5(t) * LBO6(t) math amplitude_mod_xyz math color_span_hues math render math LBO_reset_all # 17 #---------------------------------------------- math LBO1 frequency 10.0 math LBO2 amplitude 0.5 math LBO2 offset 2.0 math duration 1.0 # ~*~ indicates that the frequency # of LBO1 is multiplied by the value of LBO2 # x = t # y = LBO1(t) ~*~ LBO2(t) math frequency_mod math color_span_hues math render math LBO_reset_all # 18 #---------------------------------------------- math LBO1 frequency 3.0 math LBO1 offset 3.0 math LBO2 amplitude 0.2 math LBO2 frequency 13.0 math LBO3 frequency 2.0 math LBO3 phase 90.0 math LBO3 offset 3.0 math LBO4 amplitude 0.2 math LBO4 frequency 13.0 math LBO4 phase 90.0 math duration 1.1 # x = LBO1(t) ~*~ LBO2(t) # y = LBO3(t) ~*~ LBO4(t) math frequency_mod_xy math color_span_hues math render math LBO_reset_all # 19 #---------------------------------------------- math LBO1 frequency 0.1 math LBO1 offset 3.0 math LBO2 amplitude 0.2 math LBO2 frequency 20.0 math LBO3 frequency 0.1 math LBO3 phase 180.0 math LBO3 offset 3.0 math LBO4 amplitude 0.2 math LBO4 frequency 20.7 math LBO5 frequency 0.1 math LBO5 phase 180.0 math LBO5 offset 3.0 math LBO6 amplitude 0.2 math LBO6 frequency 21.4 math duration 2.0 # x = LBO1(t) ~*~ LBO2(t) # y = LBO3(t) ~*~ LBO4(t) # z = LBO5(t) ~*~ LBO6(t) math frequency_mod_xyz math color_span_hues math render math LBO_reset_all # 20 #---------------------------------------------- math LBO2 frequency 30.0 math LBO2 offset 1.0 math duration 1.0 # ~+~ indicates that the value of LBO2 # is added to the phase of LBO1 # x = t # y = LBO1(t) ~+~ LBO2(t) math phase_mod math color_span_hues math render math LBO_reset_all # 21 #---------------------------------------------- math LBO1 frequency 3.0 math LBO2 amplitude 0.04 math LBO2 frequency 150.0 math LBO2 offset 1.0 math LBO3 frequency 5.0 math LBO3 phase 90.0 math LBO4 amplitude 0.04 math LBO4 frequency 150.0 math LBO4 phase 90.0 math LBO4 offset 1.0 math duration 1.0 # x = LBO1(t) ~+~ LBO2(t) # y = LBO3(t) ~+~ LBO4(t) math phase_mod_xy math color_span_hues math render math LBO_reset_all # 22 #---------------------------------------------- math LBO2 amplitude 0.2 math LBO2 frequency 5.0 math LBO2 offset 1.0 math LBO3 phase 90.0 math LBO4 amplitude 0.2 math LBO4 frequency 5.7 math LBO4 offset 1.0 math LBO5 phase 180.0 math LBO6 amplitude 0.2 math LBO6 frequency 6.0 math LBO6 offset 1.0 math duration 10.0 # x = LBO1(t) ~+~ LBO2(t) # y = LBO3(t) ~+~ LBO4(t) # z = LBO5(t) ~+~ LBO6(t) math phase_mod_xyz math color_span_hues math render math LBO_reset_all # 23 #---------------------------------------------- math LBO1 frequency 10.25 math LBO1 offset 1.25 math duration 4.0 # x = LBO1(t) * cos(t) # y = LBO1(t) * sin(t) math polar math color_span_hues math render math LBO_reset_all # 24 #---------------------------------------------- math LBO1 frequency 7.0 math LBO1 offset 1.5 math LBO2 amplitude 0.75 math LBO2 frequency 140.0 math LBO2 offset 1.0 math duration 1.0 # x = (LBO1(t) + LBO2(t)) * cos(t) # y = (LBO1(t) + LBO2(t)) * sin(t) math polar_sum math color_span_hues math render math LBO_reset_all # 25 #---------------------------------------------- math LBO1 frequency 6.1 math LBO1 offset 1.25 math LBO2 amplitude 0.5 math LBO2 frequency 30.5 math LBO2 offset 1.25 math duration 10.0 # x = (LBO1(t) * LBO2(t)) * cos(t) # y = (LBO1(t) * LBO2(t)) * sin(t) math polar_amplitude_mod math color_span_hues math render math LBO_reset_all # 26 #---------------------------------------------- math LBO1 offset 1.1 math LBO2 amplitude 0.25 math LBO2 frequency 90.0 math LBO2 offset 1.0 math duration 1.0 # x = (LBO1(t) ~*~ LBO2(t)) * cos(t) # y = (LBO1(t) ~*~ LBO2(t)) * sin(t) math polar_frequency_mod math color_span_hues math render math LBO_reset_all # 27 #---------------------------------------------- math LBO1 frequency 1.25 math LBO1 offset 1.5 math LBO2 amplitude 0.25 math LBO2 frequency 50.0 math LBO2 offset 2.0 math duration 4.0 # x = (LBO1(t) ~+~ LBO2(t)) * cos(t) # y = (LBO1(t) ~+~ LBO2(t)) * sin(t) math polar_phase_mod math color_span_hues math render ############################################### ###############################################