PROCEDURE stair; VAR i:INTEGER; breite,tiefe,hoehe,anzahl_tritte,bruestung:REAL; unterSeite:REAL; gelaender_links:VECTOR; gelaender_rechts:VECTOR; schlitz_links:VECTOR; schlitz_rechts:VECTOR; p1,p2,pg1,pg2:VECTOR; p3,p4,pg3,pg4:VECTOR; p5,p6,pg5,pg6:VECTOR; richtung:REAL; abstand:REAL; BEGIN breite:=PBREITE; tiefe:=PTIEFE; hoehe:=PHOEHE; bruestung:=PBRUESTUNG; anzahl_tritte:=PANZAHL_TRITTE; unterSeite:=sqrt(sqr(tiefe*anzahl_tritte)+sqr(hoehe*anzahl_tritte)); richtung:=(ArcTan(hoehe/tiefe))/(2*3.14159265359)*360; gelaender_links:=Ang2Vec(180+richtung,bruestung); gelaender_rechts:=Ang2Vec(0-richtung,bruestung); schlitz_links:=Ang2Vec(90+richtung,tiefe); schlitz_rechts:=Ang2Vec(90-richtung,tiefe); abstand:=sqrt(tiefe*tiefe+hoehe*hoehe); FOR i:=0 to anzahl_tritte-1 DO BEGIN rect(0,((i*hoehe)+(i*tiefe)),breite,(i+1)*hoehe+(i*tiefe)); END; FOR i:=0 to anzahl_tritte-1 DO BEGIN rect(0,(i*tiefe)+(i*hoehe)+hoehe,breite,((i+1)*tiefe+(i*hoehe))+hoehe); END; FOR i:=1 to anzahl_tritte-2 DO BEGIN rect(0-(breite/10),(i*tiefe)+(i*hoehe)+hoehe,breite+(breite/10),((i+1)*tiefe+(i*hoehe))+hoehe); END; rect(0,(anzahl_tritte*hoehe)+(anzahl_tritte*tiefe),breite,(anzahl_tritte*hoehe)+(anzahl_tritte*tiefe)+unterSeite); rect(0,0,breite,-hoehe); p1.x:=0; p1.y:=(anzahl_tritte*hoehe)+(anzahl_tritte*tiefe); pg1:=p1+gelaender_links; moveto(p1.x,p1.y); lineto(pg1.x,pg1.y); p2.x:=0; p2.y:=p1.y+unterseite; pg2:=p2+gelaender_links; lineto(pg2.x,pg2.y); lineto(p2.x,p2.y); p3.x:=breite; p3.y:=(anzahl_tritte*hoehe)+(anzahl_tritte*tiefe); pg3:=p3+gelaender_rechts; moveto(p3.x,p3.y); lineto(pg3.x,pg3.y); p4.x:=breite; p4.y:=p3.y+unterseite; pg4:=p4+gelaender_rechts; lineto(pg4.x,pg4.y); lineto(p4.x,p4.y); FOR i:=1 to anzahl_tritte-2 DO BEGIN p5.x:=0; p5.y:=(anzahl_tritte*hoehe)+(anzahl_tritte*tiefe)+(i*abstand); pg5:=p5+schlitz_links; moveto(p5.x,p5.y); lineto(pg5.x,pg5.y); END; FOR i:=1 to anzahl_tritte-2 DO BEGIN p6.x:=breite; p6.y:=(anzahl_tritte*hoehe)+(anzahl_tritte*tiefe)+(i*abstand); pg6:=p6+schlitz_rechts; moveto(p6.x,p6.y); lineto(pg6.x,pg6.y); END; END;