Posts

Showing posts with the label wave

Sine wave from bash.

Image
Did a few articles on math. Here is a sine wave in bash. #!/bin/bash # plotsine.sh # A DEMO to display a sinewave inside a standard bash terminal. # default bash terminal. # Use variables so that you can see how it works. angle = 0 step_angle = 5 vert_plot = 0 horiz_plot = 5 centreline = 12 amplitude = 11 PI = 3.14159 clear # Do a single cycle, quantised graph. while [ $angle -le 359 ] do # Create each floating point value... # CygWin now catered for... ;o) vert_plot = $( awk "BEGIN{ printf \"%.12f\", ((sin($angle*($PI/180))*$amplitude)+$centreline)}" ) #vert_plot=$(bc -l <<< "{print ((s($angle*($PI/180))*$amplitude)+$centreline)}") # Truncate the floating point value to an integer then invert the plot to suit the x y co-ordinates inside a terminal... vert_plot = $(( 24 - ${ vert_plot /.* })) # Plot the point(s) and print the angle at that point... printf "\x1B[" $vert_plot ";" $horiz_plot ...