#-----------------------------------------------------
# Per fare una freccia ruotante
#  - con R si generano i frame png
#  - mediante il comando di sistema (Linux )'convert'  
#    si concatenano i png in nella gif animata
#
#  GdA aprile 2025
#------------------------------------------------------

nome.file    <- "frames_animazione"

cancella.png <- TRUE  # opzione per cancellare i png alla fine

par(mar=c(2.5,2,1.5,1))  # aggiusta i margini
R <- 1.5
for (i in 0:35) {
  nome.file.i <- sprintf("%s%d.png", nome.file, 10+i)
  print(nome.file.i)
  png(file=nome.file.i,height=480,width=480)
  
  plot(10, 10, xlim=c(-1.7,1.7),ylim=c(-1.7,1.7), xlab='', ylab='',
       bty='n',xaxt='n',yaxt='n')
  abline(h=0, lty=3)
  abline(v=0, lty=3)
  alpha <- 2*pi/36 * i
  x<- R*cos(alpha)
  y <- R*sin(alpha)
  arrows(0,0,x,y, lwd=3, col='red')
  dev.off()  
}
# comando di sistema (Linux) per unire i png nella gif 
system("convert -delay 2 -loop 0 frames_animazione*.png freccia_ruotante.gif")
if(cancella.png) system("rm -f frames_animazione*.png")
 
# Comando linux vedere la gif da riga di comando:  eog
