PROCEDURE rem_dom_2; VAR i,li,x,y,xi,yi,x0,y0:LONGINT; ai,a,l:real; BEGIN {initialisierung} x:=0; y:=0; a:=0; l:=0; MOVETO(0,(-1.5*PSCALE)); LINETO(0,(-1.5*PSCALE)-phigh); FOR i:= 1 to PECKEN do BEGIN {gerades polygone?} if PGERADE=true then BEGIN li:=PSCALE; END ELSE BEGIN li:=RANDOM*PSCALE; END; {springen zu erstem punkt} if i=1 then BEGIN ai:=((2.0*PI)/PECKEN); a:=a+ai;{gedächtnis} x0:=COS(a)*li; y0:=SIN(a)*li; MOVETO(x0,y0); END ELSE BEGIN ai:=((2.0*PI)/PECKEN); a:=a+ai;{gedächtnis} xi:=COS(a)*li; yi:=SIN(a)*li; LINETO(xi,yi); {deckel-translation} if i=2 then BEGIN MOVETO(2.5*pscale+x0,y0); LINETO(2.5*pscale+xi,yi); {Länge uebertragen} l:=l+(SQRT(SQR(xi-x0)+SQR(y0-yi))); MOVETO(l,-1.5*PSCALE); LINETO(l,(-1.5*PSCALE)-PHIGH); MOVETO(xi,yi); x:=xi; y:=yi; END ELSE BEGIN MOVETO(2.5*pscale+x,y); LINETO(2.5*pscale+xi,yi); {Länge uebertragen} l:=l+(SQRT(SQR(xi-x)+SQR(y-yi))); MOVETO(l,-1.5*PSCALE); LINETO(l,(-1.5*PSCALE)-PHIGH); MOVETO(xi,yi); x:=xi; y:=yi; END; END; END; {polygon-schlusslinie} LINETO(x0,y0); {polygon deckel} MOVETO(2.5*pscale+xi,yi); LINETO(x0+(2.5*pscale),y0); {Letzte mantellinie} l:=l+(sqrt(sqr(x0-x)+sqr(y-y0))); MOVETO(l,-1.5*PSCALE); LINETO(l,(-1.5*pscale)-phigh); {Abwickelung-schlusslinie} MOVETO(0,(-1.5*PSCALE)); LINETO(l,(-1.5*PSCALE)); MOVETO(0,(-1.5*PSCALE)-phigh); LINETO(l,(-1.5*PSCALE)-phigh); END; RUN(rem_dom_2);