Advertisement
Guest User

quadrics

a guest
Mar 22nd, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. void ellipsoid() {
  2. int i = 0;
  3. for (double u = -PI; i < 200; u += PI/100, i++) {
  4. int j = 0;
  5. for (double v = -PI/2; j < 100; v += PI/100, j++) {
  6. double x = a*cos(v)*cos(u); oby[i][j].setX(x);
  7. double y = b*cos(v)*sin(u); oby[i][j].setY(y);
  8. double z = c*sin(v); oby[i][j].setZ(z);
  9. }
  10. }
  11. }
  12.  
  13. void hyperboloid() {
  14. int i = 0;
  15. for (double u = -PI; i < 200; u += PI/100, i++) {
  16. int j = 0;
  17. for (double v = -PI/2; j < 100; v += PI/100, j++) {
  18. double x = a*cos(u)/cos(v); oby[i][j].setX(x);
  19. double y = b*sin(u)/cos(v); oby[i][j].setY(y);
  20. double z = c*tan(v); oby[i][j].setZ(z);
  21. }
  22. }
  23. }
  24.  
  25. void hyperboloid2Sisi() {
  26. int i = 0;
  27. for (double u = -PI/2; i < 100; u += PI/100, i++) {
  28. int j = 0;
  29. for (double v = -PI/2; j < 100; v += PI/100, j++) {
  30. double x = a*tan(v)*cos(u); oby[i][j].setX(x);
  31. double y = b*tan(v)*sin(u); oby[i][j].setY(y);
  32. double z = c/cos(v); oby[i][j].setZ(z);
  33. }
  34. }
  35. i = 100;
  36. for (double u = PI/2; i < 200; u += PI/100, i++) {
  37. int j = 0;
  38. for (double v = -PI/2; j < 100; v += PI/100, j++) {
  39. double x = a*tan(v)*cos(u); oby[i][j].setX(x);
  40. double y = b*tan(v)*sin(u); oby[i][j].setY(y);
  41. double z = -c/cos(v); oby[i][j].setZ(z);
  42. }
  43. }
  44. }
  45.  
  46. void ellipticCone() {
  47. int i = 0;
  48. for (double u = -PI; i < 200; u += PI/100, i++) {
  49. int j = 0;
  50. for (double v = -PI/2; j < 100; v += PI/100, j++) {
  51. double x = a*v*cos(u); oby[i][j].setX(x);
  52. double y = b*v*sin(u); oby[i][j].setY(y);
  53. double z = c*v; oby[i][j].setZ(z);
  54. }
  55. }
  56. }
  57.  
  58. void ellipticParaboloid() {
  59. int i = 0;
  60. for (double u = -PI; i < 200; u += PI/100, i++) {
  61. int j = 0;
  62. for (double v = 0; j < 100; v++, j++) {
  63. double x = a*v*cos(u); oby[i][j].setX(x);
  64. double y = b*v*sin(u); oby[i][j].setY(y);
  65. double z = v*v; oby[i][j].setZ(z);
  66. }
  67. }
  68. }
  69.  
  70. void hyperboloidParaboloid() {
  71. int i = 0;
  72. for (double u = -PI; i < 200; u += PI/100, i++) {
  73. int j = 0;
  74. for (double v = 0; j < 100; v++, j++) {
  75. double x = a*v*tan(u); oby[i][j].setX(x);
  76. double y = b*v/cos(u); oby[i][j].setY(y);
  77. double z = v*v; oby[i][j].setZ(z);
  78. }
  79. }
  80. }
  81.  
  82. void quadric() {
  83. // ellipticParaboloid();
  84. hyperboloidParaboloid();
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement