# Grafici con griglie scelte dall'utente
#
BF=6; HF=3
f = function(x) sin(x)*sqrt(2)
x1=-pi*3; x2=pi*3; y1=-1.5; y2=1.5
# specifico le distanze tra le linee della griglia in orizzontale e in verticale
#   (se non le specifico vengono tracciati solo gli assi)
TACCHEx=pi/4; TACCHEy=1/2; Piano2(x1,x2, y1,y2)
grafico(f, x1,x2, "brown")
  
# Ho aggiunto anche le indicazioni lungo gli assi
suassex("x"); suassey("sqrt(2)*x")
sottoAssex("-pi",-pi); sottoAssex("pi",pi)
sottoAssey(-1,-1); sottoAssey(1,1)
# Questo č un modo pių che adeguato per ottenere facilmente grafici di questo genere.
# Vediamo un modo pių sofisticato.
#                            # # # # # # # # #
f = function(x) sin(x)*sqrt(2)
x1=-pi*3; x2=pi*3; y1=-1.5; y2=1.5
TACCHEx=pi/4; TACCHEy=1/2; Piano2(x1,x2, y1,y2)
# Traccio segmenti pių spessi in corrispondenza degli assi
segm(x1,0, x2,0, "blue"); segm(0,y1,0, y2, "blue")
# e una griglia ulteriore
GrigliaV( seq(-pi*3,pi*3,pi) )
grafico(f, x1,x2, "brown")
#  Metto le indicazioni ai margini della griglia scrivendo le formule usando
# "bquote" (vedi il punto (16) della guida)
for(y in seq(y1,y2,0.5)) sottoAssey(y,y)
for(i in 2:3) { x=i*pi; sottoAssex( bquote(.(i)*pi), x) }
for(i in -3:-2) { x=i*pi; sottoAssex( bquote(.(i)*pi), x) }
suassex("x"); suassey(bquote(sqrt(2)%.%sin(x)))
sottoAssex(0,0); sottoAssex( bquote(-pi),-pi); sottoAssex( bquote(pi),pi)
# Traccio, sottile, anche la linea che rappresenta il massimo valore di f
linea(x1,sqrt(2), x2,sqrt(2), "brown")
SuAssey(bquote(sqrt(2)),sqrt(2))

  

# Con PIANO2 agisco analogamente per un sistema monometrico.
# Qui scelgo una griglia meno fitta ed una pių fitta di quella standard:
BF=3; HF=3
TACCHEx=1/2; TACCHEy=1/2; PIANO2(-1,1, -1,1)
cerchio(0,0, 1/2, "brown"); poligono(0,0, 1, 4,0, "red"); poligono(0,0, 1, 8,0, "blue")
TACCHEx=0.1; TACCHEy=0.1; PIANO2(-1,1, -1,1)
cerchio(0,0, 1/2, "brown"); poligono(0,0, 1, 4,0, "red"); poligono(0,0, 1, 8,0, "blue")
# o non ne scelgo alcuna:
PIANO2(-1,1, -1,1)
cerchio(0,0, 1/2, "brown"); poligono(0,0, 1, 4,0, "red"); poligono(0,0, 1, 8,0, "blue")