#################################################
#
#   This file was written by James Lehman.
#   creator of LaserBoy,
#
#   the free, multiplatform laser display
#   application that reads this format.
#
#   <james@akrobiz.com>
#   Extra Stimulus Inc., Akron, Ohio USA
#   http://laserboy.org/
#
#   ASCII format version: LaserBoy-txt-09-07-2022
#
#################################################

#math phase_cycle        360.0
#math rotation_cycle     1.0
#math interval_cycle     1.0

math frames                        80
math still_frames                  1
math first_frames                  1
math last_frames                   1

math normalize_frames_individually 0
math normalize_frames_with_origin  0
math include_unit_reference        0
math to_space                      0.90

math save_true_color_dxf           0

math save_txt_with_color           1
math save_txt_color_hex            1
math overwrite_txt_files           1

math x_of_pi                       1
math y_of_pi                       0
math z_of_pi                       0
math radii_of_pi                   0



#----------------------------------------------
math  P0             0.0 -10.0  -1.0
math  P1             6.0  10.0  -1.0
math  rectangular_grid_x_units   0.5
math  rectangular_grid_y_units   1.0
math  rectangular_grid_xy
math color_rgb          0 0 80
math store reticle



math  LBO1 amplitude    half_pi

math  start             0.0
math  duration          3.0
math  iterations        600

math _LBO1 amplitude    half_pi

math _start             0.0
math _duration          3.0
math _iterations        600






math  LBO1 function sin
math _LBO1 function triangle

#----------------------------------------------
math  LBO1 duty_cycle   0.0
math  LBO1 offset      -8.0

math _LBO1 duty_cycle   0.0
math _LBO1 offset      -8.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 0 0



#----------------------------------------------
math  LBO1 duty_cycle   0.125
math  LBO1 offset      -6.0

math _LBO1 duty_cycle   0.125
math _LBO1 offset      -6.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 80 0
math composite


#----------------------------------------------
math  LBO1 duty_cycle   0.25
math  LBO1 offset      -4.0

math _LBO1 duty_cycle   0.25
math _LBO1 offset      -4.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 127 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.375
math  LBO1 offset      -2.0

math _LBO1 duty_cycle   0.375
math _LBO1 offset      -2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 200 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.5
math  LBO1 offset       0.0

math _LBO1 duty_cycle   0.5
math _LBO1 offset       0.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.625
math  LBO1 offset       2.0

math _LBO1 duty_cycle   0.625
math _LBO1 offset       2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          127 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.75
math  LBO1 offset       4.0

math _LBO1 duty_cycle   0.75
math _LBO1 offset       4.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 0
math composite


#----------------------------------------------
math  LBO1 duty_cycle   0.875
math  LBO1 offset       6.0

math _LBO1 duty_cycle   0.875
math _LBO1 offset       6.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 127
math composite


#----------------------------------------------
math  LBO1 duty_cycle   1.0
math  LBO1 offset       8.0

math _LBO1 duty_cycle   1.0
math _LBO1 offset       8.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 255
math composite



math recall reticle
math swap
math composite
math render










math  LBO1 function triangle
math _LBO1 function ramp

#----------------------------------------------
math  LBO1 duty_cycle   0.0
math  LBO1 offset      -8.0

math _LBO1 duty_cycle   0.0
math _LBO1 offset      -8.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 0 0



#----------------------------------------------
math  LBO1 duty_cycle   0.125
math  LBO1 offset      -6.0

math _LBO1 duty_cycle   0.125
math _LBO1 offset      -6.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 80 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.25
math  LBO1 offset      -4.0

math _LBO1 duty_cycle   0.25
math _LBO1 offset      -4.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 127 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.375
math  LBO1 offset      -2.0

math _LBO1 duty_cycle   0.375
math _LBO1 offset      -2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 200 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.5
math  LBO1 offset       0.0

math _LBO1 duty_cycle   0.5
math _LBO1 offset       0.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.625
math  LBO1 offset       2.0

math _LBO1 duty_cycle   0.625
math _LBO1 offset       2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          127 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.75
math  LBO1 offset       4.0

math _LBO1 duty_cycle   0.75
math _LBO1 offset       4.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 0
math composite


#----------------------------------------------
math  LBO1 duty_cycle   0.875
math  LBO1 offset       6.0

math _LBO1 duty_cycle   0.875
math _LBO1 offset       6.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 127
math composite


#----------------------------------------------
math  LBO1 duty_cycle   1.0
math  LBO1 offset       8.0

math _LBO1 duty_cycle   1.0
math _LBO1 offset       8.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 255
math composite



math recall reticle
math swap
math composite
math render










math  LBO1 function ramp
math _LBO1 function square

#----------------------------------------------
math  LBO1 duty_cycle   0.0
math  LBO1 offset      -8.0

math _LBO1 duty_cycle   0.0
math _LBO1 offset      -8.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 0 0



#----------------------------------------------
math  LBO1 duty_cycle   0.125
math  LBO1 offset      -6.0

math _LBO1 duty_cycle   0.125
math _LBO1 offset      -6.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 80 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.25
math  LBO1 offset      -4.0

math _LBO1 duty_cycle   0.25
math _LBO1 offset      -4.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 127 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.375
math  LBO1 offset      -2.0

math _LBO1 duty_cycle   0.375
math _LBO1 offset      -2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 200 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.5
math  LBO1 offset       0.0

math _LBO1 duty_cycle   0.5
math _LBO1 offset       0.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.625
math  LBO1 offset       2.0

math _LBO1 duty_cycle   0.625
math _LBO1 offset       2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          127 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.75
math  LBO1 offset       4.0

math _LBO1 duty_cycle   0.75
math _LBO1 offset       4.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 0
math composite


#----------------------------------------------
math  LBO1 duty_cycle   0.875
math  LBO1 offset       6.0

math _LBO1 duty_cycle   0.875
math _LBO1 offset       6.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 127
math composite


#----------------------------------------------
math  LBO1 duty_cycle   1.0
math  LBO1 offset       8.0

math _LBO1 duty_cycle   1.0
math _LBO1 offset       8.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 255
math composite



math recall reticle
math swap
math composite
math render










math  LBO1 function square
math _LBO1 function pulse

#----------------------------------------------
math  LBO1 duty_cycle   0.0
math  LBO1 offset      -8.0

math _LBO1 duty_cycle   0.0
math _LBO1 offset      -8.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 0 0



#----------------------------------------------
math  LBO1 duty_cycle   0.125
math  LBO1 offset      -6.0

math _LBO1 duty_cycle   0.125
math _LBO1 offset      -6.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 80 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.25
math  LBO1 offset      -4.0

math _LBO1 duty_cycle   0.25
math _LBO1 offset      -4.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 127 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.375
math  LBO1 offset      -2.0

math _LBO1 duty_cycle   0.375
math _LBO1 offset      -2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 200 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.5
math  LBO1 offset       0.0

math _LBO1 duty_cycle   0.5
math _LBO1 offset       0.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.625
math  LBO1 offset       2.0

math _LBO1 duty_cycle   0.625
math _LBO1 offset       2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          127 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.75
math  LBO1 offset       4.0

math _LBO1 duty_cycle   0.75
math _LBO1 offset       4.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 0
math composite


#----------------------------------------------
math  LBO1 duty_cycle   0.875
math  LBO1 offset       6.0

math _LBO1 duty_cycle   0.875
math _LBO1 offset       6.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 127
math composite


#----------------------------------------------
math  LBO1 duty_cycle   1.0
math  LBO1 offset       8.0

math _LBO1 duty_cycle   1.0
math _LBO1 offset       8.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 255
math composite


math recall reticle
math swap
math composite
math render









math  LBO1 function pulse
math _LBO1 function trapezoid

#----------------------------------------------
math  LBO1 duty_cycle   0.0
math  LBO1 offset      -8.0

math _LBO1 duty_cycle   0.0
math _LBO1 offset      -8.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 0 0



#----------------------------------------------
math  LBO1 duty_cycle   0.125
math  LBO1 offset      -6.0

math _LBO1 duty_cycle   0.125
math _LBO1 offset      -6.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 80 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.25
math  LBO1 offset      -4.0

math _LBO1 duty_cycle   0.25
math _LBO1 offset      -4.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 127 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.375
math  LBO1 offset      -2.0

math _LBO1 duty_cycle   0.375
math _LBO1 offset      -2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 200 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.5
math  LBO1 offset       0.0

math _LBO1 duty_cycle   0.5
math _LBO1 offset       0.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.625
math  LBO1 offset       2.0

math _LBO1 duty_cycle   0.625
math _LBO1 offset       2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          127 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.75
math  LBO1 offset       4.0

math _LBO1 duty_cycle   0.75
math _LBO1 offset       4.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 0
math composite


#----------------------------------------------
math  LBO1 duty_cycle   0.875
math  LBO1 offset       6.0

math _LBO1 duty_cycle   0.875
math _LBO1 offset       6.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 127
math composite


#----------------------------------------------
math  LBO1 duty_cycle   1.0
math  LBO1 offset       8.0

math _LBO1 duty_cycle   1.0
math _LBO1 offset       8.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 255
math composite



math recall reticle
math swap
math composite
math render









math  LBO1 function trapezoid
math _LBO1 function circle

#----------------------------------------------
math  LBO1 duty_cycle   0.0
math  LBO1 offset      -8.0

math _LBO1 duty_cycle   0.0
math _LBO1 offset      -8.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 0 0



#----------------------------------------------
math  LBO1 duty_cycle   0.125
math  LBO1 offset      -6.0

math _LBO1 duty_cycle   0.125
math _LBO1 offset      -6.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 80 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.25
math  LBO1 offset      -4.0

math _LBO1 duty_cycle   0.25
math _LBO1 offset      -4.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 127 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.375
math  LBO1 offset      -2.0

math _LBO1 duty_cycle   0.375
math _LBO1 offset      -2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 200 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.5
math  LBO1 offset       0.0

math _LBO1 duty_cycle   0.5
math _LBO1 offset       0.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.625
math  LBO1 offset       2.0

math _LBO1 duty_cycle   0.625
math _LBO1 offset       2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          127 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.75
math  LBO1 offset       4.0

math _LBO1 duty_cycle   0.75
math _LBO1 offset       4.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 0
math composite


#----------------------------------------------
math  LBO1 duty_cycle   0.875
math  LBO1 offset       6.0

math _LBO1 duty_cycle   0.875
math _LBO1 offset       6.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 127
math composite


#----------------------------------------------
math  LBO1 duty_cycle   1.0
math  LBO1 offset       8.0

math _LBO1 duty_cycle   1.0
math _LBO1 offset       8.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 255
math composite



math recall reticle
math swap
math composite
math render










math  LBO1 function circle
math _LBO1 function sin

#----------------------------------------------
math  LBO1 duty_cycle   0.0
math  LBO1 offset      -8.0

math _LBO1 duty_cycle   0.0
math _LBO1 offset      -8.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 0 0



#----------------------------------------------
math  LBO1 duty_cycle   0.125
math  LBO1 offset      -6.0

math _LBO1 duty_cycle   0.125
math _LBO1 offset      -6.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 80 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.25
math  LBO1 offset      -4.0

math _LBO1 duty_cycle   0.25
math _LBO1 offset      -4.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 127 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.375
math  LBO1 offset      -2.0

math _LBO1 duty_cycle   0.375
math _LBO1 offset      -2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 200 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.5
math  LBO1 offset       0.0

math _LBO1 duty_cycle   0.5
math _LBO1 offset       0.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          255 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.625
math  LBO1 offset       2.0

math _LBO1 duty_cycle   0.625
math _LBO1 offset       2.0
# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          127 255 0
math composite



#----------------------------------------------
math  LBO1 duty_cycle   0.75
math  LBO1 offset       4.0

math _LBO1 duty_cycle   0.75
math _LBO1 offset       4.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 0
math composite


#----------------------------------------------
math  LBO1 duty_cycle   0.875
math  LBO1 offset       6.0

math _LBO1 duty_cycle   0.875
math _LBO1 offset       6.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 127
math composite


#----------------------------------------------
math  LBO1 duty_cycle   1.0
math  LBO1 offset       8.0

math _LBO1 duty_cycle   1.0
math _LBO1 offset       8.0

# X = t
# Y = LBO1(t)
math _oscillator
math color_rgb          0 255 255
math composite



math recall reticle
math swap
math composite
math render


#################################################
#################################################






