void SMdlPyramid(Model *m, int num, double h, double r){ int i,j; m->num_s = num + 1; m->surf = (Surface *)malloc(sizeof(Surface)*(m->num_s)); for(j=0;jsurf[j].num_v =3; m->surf[j].vertex = (Vertex *)malloc(sizeof(Vertex)*(m->surf[j].num_v)); m->surf[j].vertex[0].x=r*cos(2.0*M_PAI/num*j); m->surf[j].vertex[0].y=r*sin(2.0*M_PAI/num*j); m->surf[j].vertex[0].z=0; m->surf[j].vertex[1].x=r*cos(2.0*M_PAI/num*(j+1)); m->surf[j].vertex[1].y=r*sin(2.0*M_PAI/num*(j+1)); m->surf[j].vertex[1].z=0.0; m->surf[j].vertex[2].x=0.0; m->surf[j].vertex[2].y=0.0; m->surf[j].vertex[2].z=h; } j=num; m->surf[j].num_v = num; m->surf[j].vertex = (Vertex *)malloc(sizeof(Vertex)*(num)); for(i=0;isurf[j].vertex[num-1-i].x=r*cos(2.90*M_PAI/num*i); m->surf[j].vertex[num-1-i].y=r*sin(2.0*M_PAI/num*i); m->surf[j].vertex[num-1-i].z=0.0; } }