Pascal/Turbo Pascal - Spiral

 
Vista:

Spiral

Publicado por micropais (209 intervenciones) el 01/12/2005 14:17:43
{Creacion de una espiral con cierto numero de espiras - Turbo Pascal 7.0}

uses crt,graph;
var a:real;
gd,gm:integer;
ancho,alto:real;
centrox,centroy:integer;
tsin,tcos:integer;
n_puntos:real;
color:byte;
b:word;
n_spiras:byte;

begin
gd:=0; { 0,1 }
gm:=1;
initgraph(gd,gm,'c:\tp\bgi');{}
directvideo:=false;

{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-}
textcolor(3);
gotoxy(1,1);
writeln('MICROPAIS 2005 - Spiral ');
textcolor(7);
writeln('Pulsa INTRO para salir');

centrox:=640 div 2 ; { la resolucion de la pantalla div 2 }
centroy:=(400 div 2);

tsin:=90;
tcos:=90;

ancho:=100;
alto :=100;
n_puntos:=trunc(360);{ numero de puntos totales que formam el circulo}


n_spiras:=7;
color:=3;
b:=0;

repeat
a:=0;

while a < 2*pi do
begin
tsin:=trunc(sin(a)*alto)+centrox;
tcos:=trunc(cos(a)*ancho)+centroy;
putpixel (tsin,tcos,color);
{------------------------------}
putpixel (tsin+1,tcos+1,color);
putpixel (tsin+1,tcos-1,color);
putpixel (tsin-1,tcos-1,color);
putpixel (tsin-1,tcos+1,color);{}
{------------------------------}

delay(50);{}

a:=a+( (pi/n_puntos) );{}
if trunc(a*100) mod 24=1 then { incremento cada 15 grados, 360/24 }
begin
ancho:=ancho-0.6;
alto:=alto-0.6;
end;
if trunc(a*100)=trunc(pi) then b:=b+1;{}
if b=n_spiras then break;{}
end;

until keypressed; {}
writeln('OK');
readln;
end.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder