
# ------ funzione per disegnare un piano cartesiano vuoto
piano.cartesiano <- function(Z=10) {
   plot(NULL, xlim=c(-Z,Z), ylim=c(-Z,Z), xlab='x', ylab='y', asp=1)
   grid()
   abline(h=0)
   abline(v=0)
}

piano.cartesiano(10)

cat(sprintf("\n Clicca su due punti (coincidenti per uscire)\n"))

while(1) {

  p <- locator(2)

  if ( sqrt( (p$x[2]-p$x[1])^2 + (p$y[2]-p$y[1])^2) < 1) break 

  points(p)

  m = (p$y[2]-p$y[1]) / (p$x[2]-p$x[1])
  c = p$y[1] - m * p$x[1]   
  abline(c, m, col=sample(rainbow(7))[1], lwd=2 )

  cat(sprintf("P1: (%.2f , %.2f) \n", p$x[1], p$y[1]))
  cat(sprintf("P2: (%.2f , %.2f) \n", p$x[2], p$y[2]))
  cat(sprintf("retta:  m = %.3f, c=%.3f \n\n", m, c))  
}

