# Vediamo come si può, in modo semplice, calcolare l'area della superficie racchiusa
# da una curva che sappiamo esprimere solo in forma cartesiana (esistono anche delle
# tecniche molto sofisticate per farlo con dei metodi analitici)
# Consideriamo ad esempio la curva  x^2 + y^4 + x*y - y^3 = 5
f = function(x,y) x^2+y^4+x*y-y^3-5
PIANO(-3,3, -3,3)
curva(f, "black")     # Ottengo la figura sotto a sinistra (senza  i pallini rossi)
# Col comando startP() predispondo il programma a memorizzare i punti che clicco
# col comando, già visto, P().
startP()
P()
# xP <- -2.8371324;  yP <- 1.2217254
# E così via, cliccando su punti che approssimino il contorno (sono i punti segnati
# in rosso; il programma li segna in grigio chiaro)
  
# I punti vengono memorizzati in xClick e yClick, che se voglio visualizzo:
xClick
# -2.8371324 -1.9710328 -1.6954557 -1.1705468 -0.2913244
#  0.8503524  1.9526610  2.4250790  2.4250790  1.6639611
#  1.0078250 -0.1600972 -1.2492831 -2.2597327 -2.7321507
yClick
#  1.2217254 -0.5235966 -0.8122965 -1.0616282 -1.2847145
# -1.3372053 -1.1797327 -0.9304010 -0.4054921  1.1692345
#  1.6022843  1.8516160  1.8909842  1.7335115  1.5366707
# Se voglio vederli meglio aziono:
PUNTI(xClick,yClick,"red")
# A questo punto aziono il comando, già visto, areaPol
areaPol(xClick,yClick)
# 12.79085      Questa è l'area, approssimata, della superficie (prendo 12.8)
# Volendo tartteggio l'area del poligono (vedi figura sopra a destra), con spezzaL
spezzaL(xClick,yClick,45,"blue")
#
# Volendo trovare le intersezioni con gli assi posso procedere con degli zoom
# e con dei calcoli di valori di f. Ad es. 2 punti sono (-2.236068,0) e (0,1.823974).
  
Piano(-2.3,-2.2, -1e-1,1e-1); curva(f, "black")
# ecc.
f(-2.236068,0)
# 1.00624e-07
f(0,1.823974)
# -6.51954e-06