|
|
Capitolo 3
Parabola
Questo
programma riveste un discreto interesse dal punto di vista dell'algoritmo
utilizzato, poiché è la base di qualunque procedimento che serve per
disegnare una funzione per punti.
Dati i valori di a, b e c dell'equazione della parabola con asse
parallelo all'asse y, l'applicazione rappresenta la curva corrispondente.
Nella procedura associata al bottone Disegna si può vedere che:
- vengono letti i valori a, b, c;
- si entra nel blocco riferito a Oxy;
- ad x viene assegnato il valore xMin che contiene il valor
minimo di x visibile in Oxy;
- quindi all'interno di un ciclo repeat until vengono calcolati in
successione i valori di y corrispondenti a x;
- quindi, a seconda che il valore di x sia uguale a quello iniziale (xMin)
oppure no, viene spostata la penna nella posizione iniziale con MoveTo
oppure viene tracciata una linea a partire dalla posizione precedente
con LineTo; in questo modo la parabola viene disegnata come una
linea spezzata costituita da tanti piccoli segmenti;
- viene incrementato il valore di x di dx; la scelta di dx è
importante: se si vuole un grafico molto accurato dx va scelto piccolo
(a scapito della velocità) oppure se è più importante la precisione
dx può essere scelto più grande (a scapito della precisone); nel
nostro caso dx = 0.1 è ragionevole.
procedure TFormParabola.ButtonDisegnaClick(Sender: TObject);
var
a, b, c, x, y: Double;
begin
a:=StrToFloat(EditA.Text);
b:=StrToFloat(EditB.Text);
c:=StrToFloat(EditC.Text);
with Oxy do
begin
Pen.Color:=clBlue;
x:=xMin;
repeat
y:=a*Sqr(x)+b*x+c;
if x=xMin then
MoveTo(x, y)
else
LineTo(x, y);
x:=x+0.1;
until x>xMax;
end;
end;
3.11
- Parabola
(*)
(*)
TOxy (deve essere installato
in Delphi prima di aprire il progetto: seguire le istruzioni
contenute nel commento del file zip oppure all'interno del file OxyScuola.pas)
|