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