1)
double dH, dAlfa,R1, R2;
int i, j;
h=r;
// Wyznaczenie kata wyznaczajacego pojedynczy wycinek pionowy
dAlfa = 360.0L/(double)nh;
// Wyznaczenie wysokosci pojedynczego wycinka poziomego
dH = h/(double)nv;
for (i=0; floor((i+1)*dH*1.0E10)<=floor(h*1.0E10);i++)
{
R1=sqrt((2*r-h+i*dH)*(h-i*dH));
R2=sqrt((2*r-h+(i+1)*dH)*(h-(i+1)*dH));
glBegin(GL_TRIANGLE_STRIP);//GL_TRIANGLE_FAN
for(j=0; j*dAlfa<=360.0; j++)
{
glVertex3f(R1*cos(DEG2RAD(j*dAlfa)), i*dH, R1*sin(DEG2RAD(j*dAlfa)));
glVertex3f(R2*cos(DEG2RAD(j*dAlfa)), (i+1)*dH, R2*sin(DEG2RAD(j*dAlfa)));
}
glEnd();
}
for (i=0; floor((i+1)*dH*1.0E10)<=floor(h*1.0E10);i++)
{
R1=sqrt((2*r-h+i*dH)*(h-i*dH));
R2=sqrt((2*r-h+(i+1)*dH)*(h-(i+1)*dH));
glBegin(GL_TRIANGLE_STRIP);//GL_TRIANGLE_FAN
for(j=0; j*dAlfa<=360.0; j++)
{
glVertex3f(R1*cos(DEG2RAD(j*dAlfa)), -1*(i*dH), R1*sin(DEG2RAD(j*dAlfa)));
glVertex3f(R2*cos(DEG2RAD(j*dAlfa)), -1*((i+1)*dH), R2*sin(DEG2RAD(j*dAlfa)));
}
glEnd();
}
2)
double dAlfa, dTheta;
int i, j = 0;
// Wyznaczenie kata wyznaczajacego pojedynczy wycinek pionowy
dAlfa = 180.0L/(double)nh;
dTheta = 90.0L/(double)nv;
for (j = -90; j <= 90; j++) {
glBegin(GL_TRIANGLES);
for (i = 0; i*dAlfa <= 360.0L + dAlfa; i++) {
glVertex3f(r*cos(DEG2RAD(j*dTheta)) *cos(DEG2RAD(i*dAlfa)), r*cos(DEG2RAD(j*dTheta)) *sin(DEG2RAD(i*dAlfa)), r*sin(DEG2RAD(j*dTheta)));
glVertex3f(r*cos(DEG2RAD(j*dTheta)) *cos(DEG2RAD((i+1)*dAlfa)), r*cos(DEG2RAD(j*dTheta)) *sin(DEG2RAD((i+1)*dAlfa)), r*sin(DEG2RAD(j*dTheta)));
glVertex3f(r*cos(DEG2RAD((j+1)*dTheta))*cos(DEG2RAD(i*dAlfa)), r*cos(DEG2RAD((j+1)*dTheta))*sin(DEG2RAD(i*dAlfa)), r*sin(DEG2RAD((j+1)*dTheta)));
glVertex3f(r*cos(DEG2RAD((j+1)*dTheta))*cos(DEG2RAD(i*dAlfa)), r*cos(DEG2RAD((j+1)*dTheta))*sin(DEG2RAD(i*dAlfa)), r*sin(DEG2RAD((j+1)*dTheta)));
glVertex3f(r*cos(DEG2RAD((j+1)*dTheta))*cos(DEG2RAD((i+1)*dAlfa)), r*cos(DEG2RAD((j+1)*dTheta))*sin(DEG2RAD((i+1)*dAlfa)), r*sin(DEG2RAD((j+1)*dTheta)));
glVertex3f(r*cos(DEG2RAD(j*dTheta)) *cos(DEG2RAD((i+1)*dAlfa)) r*cos(DEG2RAD(j*dTheta)) *sin(DEG2RAD((i+1)*dAlfa)), r*sin(DEG2RAD(j*dTheta)));
};
glEnd();
};
Wyszukiwarka
Podobne podstrony:
różne (29)Różne interpretacje tytułu powieści GranicaKulkawykresy różneROZNEDla nieruchomości mamy dwie różne ulgi podatkoweRóżne Zbonikowska ChomikRóżne formy narracji w literaturze międzywojennej (na wy~010Podróż i jej wersje w literaturze romantycznejrozne 3WZ Rozne oblicza polskiej biedyRóżne wizje powstania styczniowego w literaturzewięcej podobnych podstron