#include "Eingabe.h" #include void Graf(int auswahl, float radius,float winkel) { int i=rand()%7; float x,y,z,alpha=winkel,beta,gamma=0.,a,b; float left=-10.,right=10.,bottom=-10.,top=10.; char *c="Astroid"; beta=alpha; /* Festlegung der Ausgabegröße des Grafikfensters. */ prefsize(500,500); prefposition(50,50); vinit("X11"); clear(); /* Festlegung der Größe die vom Grafikfenster benutzt wird. */ viewport(-0.75,0.75,-0.75,0.75); /* Koordinatensystem in das Fenster legen mit oben genannten Größen. */ ortho2(left,right,bottom,top); color(3); textsize(2.,2.); move2(-3.,8.); drawstr(c); move2(0.,0.); color(i); /* Falls Standbild. */ if((auswahl==1) || (auswahl==2)) { x=Berechnung(radius,alpha,0); y=Berechnung(radius,alpha,1); a=x; b=y; move2(x,y); while(alpha<=360) { alpha=alpha+beta; x=Berechnung(radius,alpha,0); y=Berechnung(radius,alpha,1); draw2(x,y); if(auswahl==2) { if (radius>=1)radius--; else break; } if (radius<=0) break; } draw2(a,b); } /* Falls Rotationsbild. */ if((auswahl==3) || (auswahl==4)) { float altradius=radius; while(gamma!=360) { alpha=beta; x=Berechnung(radius,alpha,0); z=x; y=Berechnung(radius,alpha,1); x=RotBerechnung(x,y,gamma,0); y=RotBerechnung(z,y,gamma,1); a=x; b=y; move2(x,y); while(alpha<=360) { alpha=alpha+beta; x=Berechnung(radius,alpha,0); z=x; y=Berechnung(radius,alpha,1); x=RotBerechnung(x,y,gamma,0); y=RotBerechnung(z,y,gamma,1); draw2(x,y); if(auswahl==4) { if (radius>=1)radius--; else break; } if (radius<=0) break; } draw2(a,b); gamma=gamma+20; radius=altradius; } } }