Itinerate

fu^2
se volessi un programma che mi facesse vedere le itinerate di un sistema che costruisco, insomma costrire frattali cm faccio?

anche link che spiegano cm fare a programmare in basic,pascal, visual basic(poi nn so usare altro)

Risposte
elgiovo
Fare frattali in Pascal mi sembra arduo... casomai impara il Delphi, VB non lo conosco. Comunque se vuoi visualizzare ciò che fai nelle iterazioni basta che all'interno dei tuoi cicli while, do while, for, repeat until o chicchessia, prima della fine ci metti un qualcosa che mandi a schermo quanto fatto dal ciclo, tipo un writeln se usi Pascal.

fu^2
"elgiovo":
Fare frattali in Pascal mi sembra arduo... casomai impara il Delphi, VB non lo conosco. Comunque se vuoi visualizzare ciò che fai nelle iterazioni basta che all'interno dei tuoi cicli while, do while, for, repeat until o chicchessia, prima della fine ci metti un qualcosa che mandi a schermo quanto fatto dal ciclo, tipo un writeln se usi Pascal.


giusto.. così però vedo solo i numeri... che già sarebbe qualcosa... :-D

Delphi come lingaggio è totalmente diverso da pascal o simili?

elgiovo
Non lo conosco, però so che è la versione a oggetti del Pascal, non dev'essere molto diverso, ma... è a oggetti! Tanto tempo fa ho scritto un programma in Turbo Pascal 3 che tracciava la traiettoria di una palla di cannone, lo trovi qui

http://digilander.libero.it/giovypao/programmi_in_pascal.htm

insieme a un altro programma per tracciare funzioni. Come ben vedi, la grafica del Pascal lascia un pò a desiderare. E pensare che la prima versione del TeX di Donald Knuth era scritta in Pascal.

fu^2
effettivamnete nn son grandi grafiche, però :-D :-D

cmq carini i programmi!
c'è possibilità di vedere la struttura del programma :-D ?

elgiovo
Il cannone l'ho ritrovato.
program cannone;
const colore_assi: integer = 7;
      colore_grafico: integer = 7;
      g: real = 9.81;
      pi_greco = 3.141592;
var fx, fy, nx, ny, x, y, i, alfa_gradi: integer;
    v0, v_1, v_2, x0, xmax, alfa_rad: real;

begin
 clrscr;
 writeln ('Traiettoria di un proiettile lanciato verso l''alto');
 writeln ('con angolo di lancio determinato');
 writeln ('By Giovanni Paolucci III F 03/04');
 writeln;
 write ('Numero di tratti sul semiasse x      = ');
 readln (nx);
 write ('Limite del semiasse x positivo    (m)= ');
 readln (fx);
 write ('Numero di tratti sul semiasse y      = ');
 readln (ny);
 write ('Limite del semiasse y positivo    (m)= ');
 readln (fy);
 write ('Velocit… iniziale costante v0   (m/s)= ');
 readln (v0);
 write ('Angolo di lancio intero       (gradi)= ');
 readln (alfa_gradi);

 HiRes;

 draw (10,180,630,180,colore_assi);
 draw (50,10,50,190,colore_assi);
 GotoXY (75,24); write ('x (m)');
 GotoXY ( 1,24); write ('    o');
 GotoXY ( 1, 3); write ('  y  ');
 GotoXY ( 1, 4); write (' (m) ');

 for i:=0 to nx do
  begin
   x:=round(i/nx*570)+50;
   draw (x,179,x,181,colore_assi)
  end;

 GotoXY (75,22); write (fx:5);

 for i:=0 to ny do
  begin
   y:=round(i/ny*160)+20;
   draw (48,y,52,y,colore_assi)
  end;

 GotoXY (10, 3); write (fy);

 xmax:=sqr(v0)/g;
 alfa_rad:=alfa_gradi/180.0*pi_greco;
 v_1:=v0*cos(alfa_rad);
 v_2:=v0*sin(alfa_rad);
 x0:=2*v_1/g*v_2;

 GotoXY (50, 3); write ('Gittata massima  ', xmax:0:2,' m');
 GotoXY (50, 5); write ('Angolo di lancio ',alfa_gradi,' gradi');
 GotoXY (50, 6); write ('Gittata attuale  ',  x0:0:2, ' m');
 GotoXY (50, 8); write ('By Giovanni Paolucci');

 for i:=0 to fx do
  begin
   if i < x0 then
    begin
     x:=round(i/fx*570)+50;
     y:=-round((-1/2*g*sqr(int(i)/v_1)+v_2/v_1*i)/fy*160)+180;
     plot (x,y,colore_grafico)
    end;
   end;

 GotoXY ((round(x0/fx*70)+5) mod 80,24);
 write (x0:0:2);

 repeat until keypressed;

 TextMode
end.

TomSawyer1
Prova a cercare qualche vecchio libro sui frattali, in una biblioteca, perché nella mia ho visto tempo fa listati di programmi in Pascal per disegnare frattali anche complessi.

In VB è abbstanza facile disegnare sullo schermo quasiasi cosa. Prova a cercare qualcosa su pscode.com, sia sul Pascal che su VB.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.