think pascal

program grafo3D1;
{ grafica con THINK PASCAL 2.03 tridimensionale}
{ file progetto...PRO3D.prg }
{caricare co ADD FILE routine da INTERFACES e LIBRARIES}
{aggiungere con ADD FILE il programma pascal }
{caricare in memoria con RUN BUILD contenuto librerie }
{ libreria FIXMATH.lib e GRAF3D.lib }
{ provare sintassi con RUN CHECK }
{attivare prima di RUN la finestra DRAWING massima}
	uses
		memtypes, quickdraw, osintf, toolintf, fixmath, graf3D;
	var
		portagrafica: grafport;
		portagrafica3D: port3d;
		inretto: rect;
		a: integer;
		lato, centro: fixed;
	procedure grafica;
	begin
		initgraf(@theport);
		initcursor;
		hidecursor;
		openport(@portagrafica);
		open3Dport(@portagrafica3D);
		penpat(black);
		backpat(white);
		framerect(portagrafica.portrect);
		inretto := portagrafica.portrect;
		insetrect(inretto, 1, 1);
		lookat(-983040, 655360, 983040, -655360);
		viewangle(1966080);
		roll(1310720);
		pitch(49152000);
	end;
	procedure disegnare;
		var
			b: integer;
	begin
		lato := 104895 * 2;
		centro := fixdiv(lato, 131072);
		for B := 1 to 10 do
			begin
				move3D(centro, centro, centro);
				line3D(0, lato, 0);
				line3D(lato, 0, 0);
				line3D(0, -lato, 0);
				line3D(-lato, 0, 0);
				move3D(0, 0, lato);
				line3D(0, lato, 0);
				line3D(lato, 0, 0);
				line3D(0, -lato, 0);
				line3D(-lato, 0, 0);
				moveto3D(centro, centro, centro);
			end;
	end;
begin
	grafica;
	disegnare;
	writeln('premi return per finire');
	readln;
end.