#! /bin/bash
clear
COLUMNS=$(tput cols); LINES=$(tput lines)
declare -i PERIOD=${1:-COLUMNS}

for ((x=0; ; x=(x+1)%$COLUMNS)); do
	y=$(bc -l <<-EOF
		p=4*a(1)
		y = 0.5 * $LINES * (1 - s(2*p*($x-1)/$PERIOD))
		scale=0
		y/1
	EOF
	)
	read -rn 1 || break
	tput cup $y $x
	echo -n "$REPLY"
done
tput cup $LINES 0
