3D Vector Projections and Geometric Transformations (Cube & Ellipse)

3D Vector Projections and Geometric Transformations (Cube & Ellipse)
Loading the math board and drawing, please wait…
2023-03-22 02:49
In collections Realidades de GeoGebra
①This example demonstrates the construction of a cube, ellipses, and their projections in 3D space using vector projections and geometric transformations. ②Core mathematical concepts include 3D vector projection, orthogonal projection, spatial transformations (rotation, translation), parametric equations of ellipses, and step functions used to control graphical elements. ③Construction highlights: from the summary, commands such as OrthogonalLine, Circle, Intersect, Ellipse, Point/Punto3D, If, Vector, Angle, Segment, Midpoint, and Polygon are used, with objects like d1, d1', zElipse1, ZZ1, etc., to build complex projection relationships and dynamic geometry. ④Suitable for high school to university courses in solid geometry, vector algebra, or mathematical modeling, serving as an advanced example for visualizing projections and mastering GeoGebra's construction techniques.

GeoGebra Commands & Parameters

  1. OrthogonalLine(C, yAxis) → zz1
  2. Circle(C, 0.62) → zz0
  3. Intersect(zz0, zz1, 1) → ZZ1
  4. Intersect(zz0, zz1, 2) → ZZ2
  5. Ellipse(ZZ1, ZZ2, 0.65) → zElipse1
  6. Point(zElipse1) → XY
  7. OrthogonalLine(C, xAxis) → zz2
  8. Intersect(zz0, zz2, 2) → ZZ3
  9. Intersect(zz0, zz2, 1) → ZZ4
  10. Ellipse(ZZ3, ZZ4, 0.65) → zElipse2
  11. Point(zElipse2) → Z
  12. Punto3D(C, XY, Z, {0, 0, 0}) → O
  13. If(d2 > 0, (d3' * r), ((-d3') * r)) → y1
  14. If((sgn(d3) * sgn(d2)) > 0, x1a, (-x1a)) → x1
  15. If(d1 > 0, y0a, (-y0a)) → y0
  16. Punto3D(C, XY, Z, {x0, y0, 0}) → P0
  17. Vector(O, P0) → u0
  18. If(d6 > 0, (k19 + y6a0) / k18, (k19 - y6a0) / k18) → y6a
  19. If(x0 ≠ 0, x6a, 0) → x6
  20. If(d6 > 0, (2 * y0) + y6b0, (2 * y0) - y6b0) → y6b
  21. If(x0 ≠ 0, y6a, y6b) → y6
  22. If(x0 ≠ 0, z6a, z6b) → z6
  23. Punto3D(C, XY, Z, {x6, y6, z6}) → P6
  24. Vector(E, P6) → u4
  25. If(d5 > 0, x0 + ((-k08) + x4a0) / k07, x0 + ((-k08) - x4a0) / k07) → x4a
  26. If(d5 > 0, z4e0, (-z4e0)) → z4e
  27. If(d5 > 0, z4sa0, (-z4sa0)) → z4sa
  28. If(z1 ≠ 0, x4a, If[k04 ≠ 0, x4e, If[x0 ≠ 0, x4sa, 0]]) → x4
  29. If(z1 ≠ 0, y4a, If[k04 ≠ 0, y4e, If[x0 ≠ 0, y4sa, y4sb]]) → y4
  30. If(d5 > 0, z4sb0, (-z4sb0)) → z4sb
  31. If(z1 ≠ 0, z4a, If[k04 ≠ 0, z4e, If[x0 ≠ 0, z4sa, z4sb]]) → z4
  32. Punto3D(C, XY, Z, {x4, y4, z4}) → P4
  33. Vector(E, P4) → u3
  34. If(d4 > 0, (k02 + x2a0) / k01, (k02 - x2a0) / k01) → x2a
  35. If(d4 > 0, z2e0, (-z2e0)) → z2e
  36. If(z1 ≠ 0, z2a, If[x1 ≠ 0, z2e, 0]) → z2
  37. If(isomeroG, z2, z2) → z8a3
  38. If(d4 > 0, x2s0, (-x2s0)) → x2s
  39. If(z1 ≠ 0, x2a, If[x1 ≠ 0, x2e, x2s]) → x2
  40. If(isomeroG, x2, x2) → x8a3
  41. If(z1 ≠ 0, y2a, If[x1 ≠ 0, y2e, y2s]) → y2
  42. If(isomeroG, y8a2b, y8a2a) → y8a2
  43. If(isomeroG ∧ d5 < 0 ∨ (¬isomeroG) ∧ d5 ≥ 0, x8a1b, x8a1a) → x8a1
  44. If(isomeroG, x8b11b, x8b11a) → x8b11
  45. If(k23 ≟ 0, If[k22 ≟ 0, If[k21 ≟ 0, x8b22, If[k28 ≟ 0, If[k26 ≟ 0, x8b213, x8b212], x8b211]], If[k28 ≟ 0, If[k42 ≟ 0, x8b13, x8b12], x8b11]], If[k33 ≟ 0, If[k32 ≟ 0, x8a3, x8a2], x8a1]) → x8
  46. If(isomeroG, z8b12b, z8b12a) → z8b12
  47. If(isomeroG, z8b212b, z8b212a) → z8b212
  48. If(isomeroG, y8b211b, y8b211a) → y8b211
  49. If(k23 ≟ 0, If[k22 ≟ 0, If[k21 ≟ 0, z8b22, If[k28 ≟ 0, If[k26 ≟ 0, z8b213, z8b212], z8b211]], If[k28 ≟ 0, If[k42 ≟ 0, z8b13, z8b12], z8b11]], If[k33 ≟ 0, If[k32 ≟ 0, z8a3, z8a2], z8a1]) → z8
  50. If(isomeroG, y2, y2) → y8a3
  51. If(k23 ≟ 0, If[k22 ≟ 0, If[k21 ≟ 0, y8b22, If[k28 ≟ 0, If[k26 ≟ 0, y8b213, y8b212], y8b211]], If[k28 ≟ 0, If[k42 ≟ 0, y8b13, y8b12], y8b11]], If[k33 ≟ 0, If[k32 ≟ 0, y8a3, y8a2], y8a1]) → y8
  52. Punto3D(C, XY, Z, {x8, y8, z8}) → P8
  53. Vector(F, P8) → u5
  54. Punto3D(C, XY, Z, {0, d, 0}) → U
  55. Intersect(zElipse2, zz2) → ZZ7, ZZ8
  56. Angle(ZZ8, C, Z) → zAngInc
  57. Intersect(zElipse1, zz1) → ZZ5, ZZ6
  58. Angle(ZZ6, C, XY) → zAngRot
  59. Segment(ZZ5, ZZ6) → zz4
  60. Segment(ZZ7, ZZ8) → zz3
  61. Intersect(zElipse2, zElipse1, 1) → zPunto1
  62. Intersect(zElipse2, zElipse1, 4) → zPunto2
  63. Segment(zPunto1, zPunto2) → zSeg2
  64. Segment(O, U) → a1
  65. Punto3D(C, XY, Z, {x1, y1, z1}) → P1
  66. Midpoint(O, U) → A0
  67. Vector(O, P1) → u1
  68. Segment(O, A) → s01
  69. Segment(O, E) → s00
  70. Segment(P1, A0) → b01
  71. Segment(A0, P0) → b02
  72. Segment(P1, P0) → b03
  73. Punto3D(C, XY, Z, {x2, y2, z2}) → P2
  74. Vector(U, P2) → u2
  75. Segment(U, B) → s02
  76. Segment(A0, P2) → b04
  77. Midpoint(A, B) → P3
  78. Segment(P2, P3) → b05
  79. Segment(P1, P3) → b06
  80. Segment(A, B) → s04
  81. Segment(E, D) → s03
  82. Segment(A, D) → s05
  83. Midpoint(s05) → P5
  84. Segment(P0, P4) → b07
  85. Segment(P4, P5) → b08
  86. Segment(P1, P5) → b09
  87. Segment(E, F) → s06
  88. Segment(P4, P6) → b10
  89. Segment(P0, P6) → b11
  90. Segment(U, F) → s07
  91. Midpoint(s07) → P7
  92. Segment(P2, P7) → b12
  93. Segment(P6, P7) → b13
  94. Segment(A0, P7) → b14
  95. Punto3D(C, XY, Z, {x8a1, y8a1, z8a1}) → P8a1
  96. If(test8 ≟ 0, false, true) → aviso8bool
  97. Segment(B, G) → s09
  98. Segment(G, F) → s10
  99. Segment(D, G) → s08
  100. Midpoint(s08) → P10
  101. Segment(P4, P10) → b15
  102. Segment(P10, P8) → b16
  103. Segment(P6, P8) → b17
  104. Midpoint(s09) → P9
  105. Segment(P3, P5) → b18
  106. Segment(P5, P10) → b19
  107. Segment(P3, P9) → b21
  108. Segment(P10, P9) → b20
  109. Segment(P9, P2) → b22
  110. Segment(P9, P8) → b23
  111. Segment(P8, P7) → b24
  112. Polygon(O, U, E) → poly1, e, o, u

AI Drawing Prompt Reference

Create a 3D solid-geometry projection diagram. Start with a 3D coordinate setting around a central reference point, draw two perpendicular axis-direction orthogonal guide lines, and use the center with two different radii to construct two circles. Find their intersections to obtain two pairs of points, then build two ellipses in the corresponding planes from each pair. Take representative points on each ellipse and lift them into 3D as points with the same x–y but varying z. Form vectors from a reference 3D point to these lifted points, and determine the sign/branch of coordinate components using conditional rules so the points lie on the appropriate sides of the projection. Use the resulting multiple 3D points and their vectors to relate the ellipses, producing a cube-like projection and transformation effect in 3D.
The prompt above was compiled from the original drawing commands and is for reference only.