Advertisement
Guest User

STOZEK

a guest
Jan 17th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. void RysujStozek(double R1, double R2, double H) {
  2. float x, y, z, fi, OD, DO, OD1, DO1, R = R1;
  3. const long double PI = 3.14,
  4. EPS = PODZIAL_X,
  5. EPS2 = PODZIAL_Y;
  6. OD1 = 0.0;
  7. DO1 = 2.0001 * PI;
  8. OD = 0.0;
  9. DO = 2.0001 * PI;
  10. glBegin(GL_TRIANGLE_STRIP);
  11. for (y = 0;
  12. (y <= H) && (R >= R2); y += H / EPS, R -=
  13. ((R1 - R2) / EPS)) {
  14. for (fi = OD1; fi < DO1; fi += PI / EPS2) {
  15. x = R * cos(fi);
  16. z = R * sin(fi);
  17. glVertex3f(x, y, z);
  18. x = (R - ((R1 - R2) / EPS)) * cos(fi +
  19. PI / EPS2);
  20. z = (R - ((R1 - R2) / EPS)) * sin(fi +
  21. PI / EPS2);
  22. glVertex3f(x, (y + H / EPS), z);
  23. }
  24. }
  25. glEnd();
  26. glBegin(GL_TRIANGLE_FAN);
  27. glVertex3f(0.0, 0.0, 0.0);
  28. for (fi = OD; fi <= DO; fi += PI / EPS2) {
  29. x = R1 * cos(fi);
  30. z = R1 * sin(fi);
  31. glVertex3f(x, 0, z);
  32. }
  33. glEnd();
  34. glBegin(GL_TRIANGLE_FAN);
  35. glVertex3f(0, H, 0);
  36. for (fi = OD; fi < DO; fi += PI / EPS2) {
  37. x = R2 * cos(fi);
  38. z = R2 * sin(fi);
  39. glVertex3f(x, H, z);
  40. }
  41. glEnd();
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement