|
Program Ipocicloide;
uses crt, GRAFICA, MODELLO, IpoC;
var p:punto;
c:cicloide;
r,fi,giri,al,inc:double;
begin
ClrScr;
CentraFrase('Grafico dell'' ipocicloide', 1);
writeln;
r:=RealDomanda(destra('Raggio esterno ', '.', 25), 2.0, 85.0);
fi:=RealDomanda(destra('Rapporto tra i raggi ', '.', 25), 0.07, 1000.0);
giri:=RealDomanda(destra('Numero di giri ', '.', 25), 0.5, 2000);
if inizio_graf then
begin
inc:=(2.0*pi)/(1000*giri);
p.inizio(-150, -90, 150, 90);
c.SettaCicloide(r, fi);
al:=0.0;
p.cerchio(0, 0, r, VerdeChiaro);
while al<=giri*2*pi do
begin
p.punto(c.ascissa(al), c.ordinata(al), ciano);
al:=al+inc;
end;
p.DistruggiPunto;
fine_graf;
end
else pausa('Impossibile aprire la modalita'' grafica ', 1, WhereY+2);
c.DistruggiCicloide;
end.
|
|