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();
}
Comments