void DrawPyramid(Vec3 P0,double a,double b,double h){ //punkte um den ursprungerzeugen Vec3 P1=new Vec3(-a/2,-b/2, 0); Vec3 P2=new Vec3( a/2,-b/2, 0); Vec3 P3=new Vec3( a/2, b/2, 0); Vec3 P4=new Vec3(-a/2, b/2, 0); Vec3 P5=new Vec3( 0, 0, h); Vec3 normal=new Vec3&(0,0,1); //punkte zum gewünschten ort verschieben P1=P1+P0; P2=P2+P0; P3=P3+P0; P4=P4+P0; P5=P5+P0; //die vierdreiecke zeichenen glBegin(GL_TRIANGLES); // Start Drawing A Triangle glNormal3dv(normal.p); // Set Top Point Of Triangle To Red TODO glVertex3dv(P5.p); // First Point Of The Triangle glVertex3dv(P1.p); // Second Point Of The Triangle glVertex3dv(P2.p); // Third Point Of The Triangle glEnd(); glBegin(GL_TRIANGLES); // Start Drawing A Triangle glNormal3dv(normal.p); // Set Top Point Of Triangle To Red TODO glVertex3dv(P5.p); // First Point Of The Triangle glVertex3dv(P2.p); // Second Point Of The Triangle glVertex3dv(P3.p); // Third Point Of The Triangle glEnd(); glBegin(GL_TRIANGLES); // Start Drawing A Triangle glNormal3dv(normal.p); // Set Top Point Of Triangle To Red TODO glVertex3dv(P5.p); // First Point Of The Triangle glVertex3dv(P3.p); // Second Point Of The Triangle glVertex3dv(P4.p); // Third Point Of The Triangle glEnd(); glBegin(GL_TRIANGLES); // Start Drawing A Triangle glNormal3dv(normal.p); // Set Top Point Of Triangle To Red TODO glVertex3dv(P5.p); // First Point Of The Triangle glVertex3dv(P4.p); // Second Point Of The Triangle glVertex3dv(P1.p); // Third Point Of The Triangle glEnd(); glBegin(GL_QUADS); glNormal3dv(normal.p); glVertex3dv(P1.p); glVertex3dv(P2.p); glVertex3dv(P3.p); glVertex3dv(P4.p); glEnd(); }