Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/zsh
- zmodload zsh/mathfunc
- imgsize=400
- pi=$((4*atan(1.0)))
- a=149.6
- b=147
- c=$((sqrt(a*a-b*b)))
- for ((i=0;i<101;i++)); do
- tg=$((sin(2.0*pi*i/101)/cos(2.0*pi*i/101)))
- xa=$((sqrt(1.0/(1.0/(a*a)+tg*tg/(b*b)))))
- [[ $((2.0*pi*i/101)) < $((pi/2.0)) || $((2.0*pi*i/101)) > $((3*pi/2.0)) ]] && xa=$((-xa))
- ya=$((xa*tg))
- xb=$c
- yb=0
- [ -n "$1" ] && {
- xb=$((c-xa))
- yb=$((-ya))
- xa=0
- ya=0
- }
- # translate spatial coords in to display coords
- xa=$((imgsize/2+xa))
- ya=$((imgsize/2-ya))
- xb=$((imgsize/2+xb))
- yb=$((imgsize/2-yb))
- convert -size ${imgsize}x${imgsize} canvas:black \
- -stroke white -draw "rectangle 5,5 $((imgsize-5)),$((imgsize-5))" \
- -stroke black -fill blue -draw "circle $xa,$ya $((xa+5)),$ya" \
- -fill yellow -draw "circle $xb,$yb $((xb+10)),$yb" \
- draw_point$((i+10000)).gif
- done
- convert -loop 0 -delay 20 *.gif points.gif
- rm draw_point*.gif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement