# Copie e incolla tutto in R.  Quindi clicca via via sulla figura e alla
# fine spiega cosa e' stato tracciato
dev.new(width=3, height=4,xpos=50,ypos=6)
par( mai = c(0,0,0,0) )
plot(c(0,10),c(0,10),type="n",xlab="", ylab="",fg="white",xaxt="n",yaxt="n")
t1 <- "Il grafico di una\nfunzione."
t2 <- "Clicca sulla figura\nripetutamente e\ncerca di capire\nche cosa viene\ntracciato."
text(5,9,t1,cex=1.5,col="red")
text(5,5,t2,cex=1.5,col="red")
dev.new(width=4, height=4,xpos=50+311,ypos=6)
plot(c(0,10),c(0,10),type="n",xlab="", ylab="",fg="white",xaxt="n",yaxt="n")
f <- function(x) x^3-3*x^2+x-1/2
fx <- body(f)
gx <-D(fx,"x"); g <- function(x) eval(gx)
p <- uniroot(g, c(0, 1) )$root; q <- uniroot(g, c(1, 2) )$root; r <- 1
x1 <- -0.5; x2 <- 2.5; y1 <- -3; y2 <- 4.5
for(a in seq(x1,x2, 0.05)) { plot(f,x1,x2,,ylim=c(y1,y2))
  abline(h=0,v=0,col="red"); abline(f(a)-g(a)*a,g(a),col="blue")
  plot(g,x1,a,add=TRUE,col="blue",lty=2); points( c(p,q,r),f(c(p,q,r)))
  locator(1) }
abline(v=c(p,q,r),lty=3)