Geometric Construction of Omnipoliedro via 3D Transforms and Angle Parameters

Geometric Construction of Omnipoliedro via 3D Transforms and Angle Parameters
Loading the math board and drawing, please wait…
2023-03-14 01:10
In collections geometriadinamica.es
This example demonstrates the 3D geometric construction of an “Omnipoliedro” shape by combining ellipse-based sections with rotation, translation, and mirror transformations. It highlights how key angle parameters (e.g., θ, φ) influence the resulting polyhedral-like structure. The core concepts include solid geometry construction in 3D, computing intersection points, measuring angles, using vectors for direction, and generating polygonal facets through successive transformations. Construction details: Ellipse defines the initial curve/section; Point and Intersect locate key construction points; Angle captures the controlling rotation/observation angles; Vector and Line provide directional references; Rotate, Mirror, and Translate replicate and transform geometry to assemble the full form; Polygon and Segment build connected faces/edges, while Circle, Midpoint, and additional lines act as geometric aids and constraints. Objects such as coordinate triples (Xr, Yr, Zr and X0, Y0, Z0) reflect coordinate-mapped points driven by the parameters. Suitable for secondary to early university students studying transformation geometry and dynamic parameterized modeling with GeoGebra.

GeoGebra Commands & Parameters

  1. Ellipse(O_r - (0.95, 0), O_r + (0.95, 0), 1) → mira1
  2. Point(mira1) → A
  3. Ellipse(O_r - (0, 0.95), O_r + (0, 0.95), 1) → mira2
  4. Point(mira2) → B
  5. Intersect(mira1, mira2) → Mira1, Mira2, Mira3, Mira4
  6. Angle(M, O_r, B) → θ
  7. Angle(U, O_r, A) → φ
  8. Vector(O_r, O_0) → u
  9. Translate(Xr, u) → X0
  10. Translate(Zr, u) → Z0
  11. Translate(Yr, u) → Y0
  12. Vector(O_0, Z0) → v
  13. Vector(O_0, Y0) → w
  14. Vector(O_0, X0) → z
  15. Circle(O_0, L) → c
  16. Line(O_0, Y0) → a
  17. Line(O_0, yAxis) → b
  18. Line(O_0, X0) → g
  19. Line(Z0, O_0) → j
  20. Translate(P1r, u) → P1
  21. Rotate(A, botonpaso, O_r) → botonA
  22. Rotate(B, botonpaso, O_r) → botonB
  23. Segment(Mira3, Mira2) → k
  24. Segment((-1, 0), U) → l
  25. Segment((0, -1), M) → m
  26. punto3d(A, B, M, O_0, O_r, 1, 1, -1, U, L) → V1
  27. punto3d(A, B, M, O_0, O_r, 1, 1, 1, U, L) → V2
  28. punto3d(A, B, M, O_0, O_r, 1, -1, 1, U, L) → V3
  29. punto3d(A, B, M, O_0, O_r, 1, -1, -1, U, L) → V4
  30. punto3d(A, B, M, O_0, O_r, -1, 1, 1, U, L) → V5
  31. punto3d(A, B, M, O_0, O_r, -1, 1, -1, U, L) → V6
  32. punto3d(A, B, M, O_0, O_r, -1, -1, 1, U, L) → V7
  33. punto3d(A, B, M, O_0, O_r, -1, -1, -1, U, L) → V8
  34. Midpoint(V1, V3) → octV1
  35. Midpoint(V1, V5) → octV2
  36. Midpoint(V8, V5) → octV3
  37. Midpoint(V3, V8) → octV4
  38. Midpoint(V3, V5) → octV5
  39. Midpoint(V1, V8) → octV6
  40. Midpoint(V1, V2) → cub1M
  41. Midpoint(V3, V2) → cub2M
  42. Midpoint(V1, V6) → cub4M
  43. Midpoint(V7, V8) → cub5M
  44. Angle(V3, cub1M, V4) → cub1Ang
  45. If(cub1Ang < 180°, V2, V3) → cubV2b
  46. If(cub1Ang < 180°, V1, V4) → cubV1b
  47. Polygon(V3, V4, cubV1b, cubV2b) → cub1, cub1v3, cub1v4, cub1v1, cub1v2
  48. Angle(V6, cub1M, V5) → cub3Ang
  49. If(cub3Ang < 180°, V2, V5) → cubV2c
  50. If(cub3Ang < 180°, V1, V6) → cubV1c
  51. Polygon(V6, V5, cubV2c, cubV1c) → cub3, cub3v6, cub3v5, cub3v2, cub3v1
  52. Angle(V5, cub5M, V6) → cub5Ang
  53. If(cub5Ang < 180°, V5, V7) → cubV5b
  54. If(cub5Ang < 180°, V6, V8) → cubV6b
  55. Polygon(V8, V7, cubV5b, cubV6b) → cub5, cub5v8, cub5v7, cub5v5, cub5v6
  56. Angle(V4, cub5M, V3) → cub6Ang
  57. If(cub6Ang < 180°, V7, V3) → cubV7b
  58. If(cub6Ang < 180°, V8, V4) → cubV8b
  59. Polygon(V4, V3, cubV7b, cubV8b) → cub6, cub6v4, cub6v3, cub6v7, cub6v8
  60. Angle(V5, cub2M, V7) → cub2Ang
  61. If(cub2Ang < 180°, V3, V7) → cubV3b
  62. If(cub2Ang < 180°, V2, V5) → cubV2d
  63. Polygon(V7, V5, cubV2d, cubV3b) → cub2, cub2v7, cub2v5, cub2v2, cub2v3
  64. Angle(V4, cub4M, V8) → cub4Ang
  65. Segment(V2, V1) → cubA1'
  66. Segment(V2, V3) → cubA2'
  67. Segment(V3, V4) → cubA3'
  68. Segment(V4, V1) → cubA4'
  69. Segment(V1, V6) → cubA5'
  70. Segment(V8, V6) → cubA6'
  71. Segment(V4, V8) → cubA7'
  72. Segment(V2, V5) → cubA8'
  73. Segment(V5, V7) → cubA9'
  74. Segment(V3, V7) → cubA10'
  75. Segment(V5, V6) → cubA11'
  76. Segment(V7, V8) → cubA12'
  77. Segment(V1, V3) → tetA1'
  78. Segment(V1, V8) → tetA2'
  79. Segment(V3, V8) → tetA3'
  80. Segment(V3, V5) → tetA4'
  81. Segment(V1, V5) → tetA5'
  82. Segment(V8, V5) → tetA6'
  83. Segment(octV1, octV2) → octA1'
  84. Segment(octV3, octV2) → octA2'
  85. Segment(octV3, octV4) → octA3'
  86. Segment(octV1, octV4) → octA4'
  87. Segment(octV1, octV5) → octA5'
  88. Segment(octV2, octV5) → octA6'
  89. Segment(octV3, octV5) → octA7'
  90. Segment(octV4, octV5) → octA8'
  91. Segment(octV1, octV6) → octA9'
  92. Segment(octV2, octV6) → octA10'
  93. Segment(octV3, octV6) → octA11'
  94. Segment(octV4, octV6) → octA12'
  95. Segment(octV1, octV2) → octA1
  96. Segment(octV3, octV2) → octA2
  97. Segment(octV3, octV4) → octA3
  98. Segment(octV1, octV4) → octA4
  99. Segment(octV1, octV5) → octA5
  100. Segment(octV2, octV5) → octA6
  101. Segment(octV3, octV5) → octA7
  102. Segment(octV4, octV5) → octA8
  103. Segment(octV1, octV6) → octA9
  104. Segment(octV2, octV6) → octA10
  105. Segment(octV3, octV6) → octA11
  106. Segment(octV4, octV6) → octA12
  107. Segment(V1, V3) → tetA1
  108. Segment(V1, V8) → tetA2
  109. Segment(V3, V8) → tetA3
  110. Segment(V3, V5) → tetA4
  111. Segment(V1, V5) → tetA5
  112. Segment(V8, V5) → tetA6
  113. Segment(V1, V2) → cubA1
  114. Segment(V2, V3) → cubA2
  115. Segment(V3, V4) → cubA3
  116. Segment(V4, V1) → cubA4
  117. Segment(V1, V6) → cubA5
  118. Segment(V6, V8) → cubA6
  119. Segment(V8, V4) → cubA7
  120. Segment(V2, V5) → cubA8
  121. Segment(V5, V7) → cubA9
  122. Segment(V7, V3) → cubA10
  123. Segment(V6, V5) → cubA11
  124. Segment(V7, V8) → cubA12
  125. If(cub4Ang < 180°, V1, V4) → cubV1d
  126. If(cub4Ang < 180°, V6, V8) → cubV6c
  127. Polygon(V8, V4, cubV1d, cubV6c) → cub4, cub4v8, cub4v4, cub4v1, cub4v6
  128. Angle(V5, V1, V3) → tet1Ang
  129. If(tet1Ang < 180°, V1, V3) → tetV1
  130. Polygon(V5, V3, tetV1) → tet1, tet1v1, tet1v5, tet1v3
  131. Angle(V5, V8, V1) → tet2Ang
  132. If(tet2Ang < 180°, V8, V5) → tetV8
  133. Polygon(V5, V1, tetV8) → tet2, tet2v8, tet2v5, tet2v1
  134. Angle(V8, V5, V3) → tet3Ang
  135. If(tet3Ang < 180°, V5, V3) → tetV5
  136. Polygon(V8, V3, tetV5) → tet3, tet3v5, tet3v8, tet3v3
  137. Angle(V8, V3, V1) → tet4Ang
  138. If(tet4Ang < 180°, V3, V1) → tetV3
  139. Polygon(V8, V1, tetV3) → tet4, tet4v3, tet4v8, tet4v1
  140. Angle(octV2, octV1, octV5) → oct1Ang
  141. If(oct1Ang < 180°, octV1, octV2) → octV1b
  142. Angle(octV3, octV2, octV5) → oct2Ang
  143. If(oct2Ang < 180°, octV2, octV3) → octV2b
  144. Angle(octV4, octV3, octV5) → oct3Ang
  145. If(oct3Ang < 180°, octV3, octV4) → octV3b
  146. Angle(octV1, octV4, octV5) → oct4Ang
  147. If(oct4Ang < 180°, octV4, octV1) → octV4b
  148. Angle(octV6, octV1, octV2) → oct5Ang
  149. If(oct5Ang < 180°, octV1, octV2) → octV1c
  150. Angle(octV3, octV6, octV2) → oct6Ang
  151. If(oct6Ang < 180°, octV6, octV3) → octV6b
  152. Angle(octV6, octV3, octV4) → oct7Ang
  153. If(oct7Ang < 180°, octV3, octV4) → octV3c
  154. Angle(octV6, octV4, octV1) → oct8Ang
  155. If(oct8Ang < 180°, octV4, octV1) → octV4c
  156. Polygon(octV1b, octV2, octV5) → oct1, oct1v5, oct1v1, oct1v2
  157. Polygon(octV2b, octV3, octV5) → oct2, oct2v5, oct2v2, oct2v3
  158. Polygon(octV3b, octV4, octV5) → oct3, oct3v5, oct3v3, oct3v4
  159. Polygon(octV4b, octV1, octV5) → oct4, oct4v5, oct4v4, oct4v1
  160. Polygon(octV1c, octV2, octV6) → oct5, oct5v6, oct5v1, oct5v2
  161. Polygon(octV6b, octV2, octV3) → oct6, oct6v3, oct6v6, oct6v2
  162. Polygon(octV3c, octV4, octV6) → oct7, oct7v6, oct7v3, oct7v4
  163. Polygon(octV4c, octV1, octV6) → oct8, oct8v6, oct8v4, oct8v1
  164. punto3d(A, B, M, O_0, O_r, 0, 1, fi, U, L) → icoV1
  165. punto3d(A, B, M, O_0, O_r, 0, 1, (-fi), U, L) → icoV2
  166. punto3d(A, B, M, O_0, O_r, 0, -1, fi, U, L) → icoV3
  167. punto3d(A, B, M, O_0, O_r, 0, -1, (-fi), U, L) → icoV4
  168. punto3d(A, B, M, O_0, O_r, 1, fi, 0, U, L) → icoV5
  169. punto3d(A, B, M, O_0, O_r, 1, (-fi), 0, U, L) → icoV6
  170. punto3d(A, B, M, O_0, O_r, -1, fi, 0, U, L) → icoV7
  171. punto3d(A, B, M, O_0, O_r, -1, (-fi), 0, U, L) → icoV8
  172. punto3d(A, B, M, O_0, O_r, fi, 0, 1, U, L) → icoV9
  173. punto3d(A, B, M, O_0, O_r, fi, 0, -1, U, L) → icoV10
  174. punto3d(A, B, M, O_0, O_r, (-fi), 0, 1, U, L) → icoV11
  175. punto3d(A, B, M, O_0, O_r, (-fi), 0, -1, U, L) → icoV12
  176. Segment(icoV7, icoV11) → icoA04
  177. Segment(icoV11, icoV12) → icoA06
  178. Segment(icoV7, icoV12) → icoA08
  179. Segment(icoV11, icoV8) → icoA11
  180. Segment(icoV8, icoV12) → icoA13
  181. Segment(icoV7, icoV2) → icoA19
  182. Segment(icoV2, icoV12) → icoA21
  183. Segment(icoV4, icoV12) → icoA23
  184. Segment(icoV4, icoV2) → icoA25
  185. Segment(icoV4, icoV8) → icoA27
  186. Segment(icoV5, icoV2) → icoA29
  187. Segment(icoV5, icoV7) → icoA01
  188. Segment(icoV5, icoV1) → icoA02
  189. Segment(icoV1, icoV7) → icoA03
  190. Segment(icoV9, icoV5) → icoA05
  191. Segment(icoV5, icoV10) → icoA09
  192. Segment(icoV9, icoV10) → icoA10
  193. Segment(icoV2, icoV10) → icoA12
  194. Segment(icoV9, icoV1) → icoA07
  195. Segment(icoV4, icoV10) → icoA14
  196. Segment(icoV1, icoV11) → icoA15
  197. Segment(icoV3, icoV1) → icoA16
  198. Segment(icoV3, icoV11) → icoA17
  199. Segment(icoV3, icoV8) → icoA18
  200. Segment(icoV6, icoV8) → icoA20
  201. Segment(icoV6, icoV3) → icoA22
  202. Segment(icoV9, icoV3) → icoA24
  203. Segment(icoV9, icoV6) → icoA26
  204. Segment(icoV6, icoV10) → icoA28
  205. Segment(icoV6, icoV4) → icoA30
  206. Angle(icoV3, icoV9, icoV6) → ico01Ang
  207. If(ico01Ang < 180°, icoV9, icoV6) → icoV9b
  208. Angle(icoV3, icoV6, icoV8) → ico02Ang
  209. If(ico02Ang < 180°, icoV6, icoV8) → icoV6b
  210. Angle(icoV3, icoV8, icoV11) → ico03Ang
  211. If(ico03Ang < 180°, icoV8, icoV11) → icoV8b
  212. Angle(icoV3, icoV11, icoV1) → ico4Ang
  213. If(ico4Ang < 180°, icoV11, icoV1) → icoV11b
  214. Angle(icoV3, icoV1, icoV9) → ico5Ang
  215. If(ico5Ang < 180°, icoV1, icoV9) → icoV1b
  216. Angle(icoV9, icoV10, icoV6) → ico6Ang
  217. If(ico6Ang < 180°, icoV10, icoV6) → icoV10b
  218. Angle(icoV6, icoV10, icoV4) → ico7Ang
  219. If(ico7Ang < 180°, icoV10, icoV4) → icoV10c
  220. Angle(icoV6, icoV4, icoV8) → ico8Ang
  221. If(ico8Ang < 180°, icoV4, icoV8) → icoV4b
  222. Angle(icoV8, icoV4, icoV12) → ico9Ang
  223. If(ico9Ang < 180°, icoV4, icoV12) → icoV4c
  224. Angle(icoV8, icoV12, icoV11) → ico10Ang
  225. If(ico10Ang < 180°, icoV12, icoV11) → icoV12b
  226. Angle(icoV11, icoV12, icoV7) → ico11Ang
  227. If(ico11Ang < 180°, icoV12, icoV11) → icoV12c
  228. Angle(icoV11, icoV7, icoV1) → ico12Ang
  229. If(ico12Ang < 180°, icoV7, icoV11) → icoV7b
  230. Angle(icoV1, icoV7, icoV5) → ico13Ang
  231. If(ico13Ang < 180°, icoV7, icoV1) → icoV7c
  232. Angle(icoV1, icoV5, icoV9) → ico14Ang
  233. If(ico14Ang < 180°, icoV5, icoV1) → icoV5b
  234. Angle(icoV9, icoV5, icoV10) → ico15Ang
  235. If(ico15Ang < 180°, icoV5, icoV9) → icoV5c
  236. Angle(icoV10, icoV2, icoV4) → ico16Ang
  237. If(ico16Ang < 180°, icoV2, icoV4) → icoV2b
  238. Angle(icoV4, icoV2, icoV12) → ico17Ang
  239. If(ico17Ang < 180°, icoV2, icoV4) → icoV2c
  240. Angle(icoV2, icoV7, icoV12) → ico18Ang
  241. If(ico18Ang < 180°, icoV7, icoV12) → icoV7d
  242. Angle(icoV5, icoV7, icoV2) → ico19Ang
  243. If(ico19Ang < 180°, icoV7, icoV5) → icoV7e
  244. Angle(icoV5, icoV2, icoV10) → ico20Ang
  245. If(ico20Ang < 180°, icoV2, icoV5) → icoV2d
  246. Polygon(icoV6, icoV3, icoV9b) → ico01, ico01v9, ico01v6, ico01v3
  247. Polygon(icoV8, icoV3, icoV6b) → ico02, ico02v6, ico02v8, ico02v3
  248. Polygon(icoV11, icoV3, icoV8b) → ico03, ico03v8, ico03v11, ico03v3
  249. Polygon(icoV1, icoV3, icoV11b) → ico4, ico4v11, ico4v1, ico4v3
  250. Polygon(icoV9, icoV3, icoV1b) → ico5, ico5v1, ico5v9, ico5v3
  251. Polygon(icoV6, icoV9, icoV10b) → ico6, ico6v10, ico6v6, ico6v9
  252. Polygon(icoV4, icoV6, icoV10c) → ico7, ico7v10, ico7v4, ico7v6
  253. Polygon(icoV8, icoV6, icoV4b) → ico8, ico8v4, ico8v8, ico8v6
  254. Polygon(icoV8, icoV12, icoV4c) → ico9, ico9v4, ico9v8, ico9v12
  255. Polygon(icoV8, icoV11, icoV12b) → ico10, ico10v12, ico10v8, ico10v11
  256. Polygon(icoV7, icoV11, icoV12c) → ico11, ico11v12, ico11v7, ico11v11
  257. Polygon(icoV1, icoV11, icoV7b) → ico12, ico12v7, ico12v1, ico12v11
  258. Polygon(icoV1, icoV5, icoV7c) → ico13, ico13v7, ico13v1, ico13v5
  259. Polygon(icoV1, icoV9, icoV5b) → ico14, ico14v5, ico14v1, ico14v9
  260. Polygon(icoV10, icoV9, icoV5c) → ico15, ico15v5, ico15v10, ico15v9
  261. Polygon(icoV10, icoV4, icoV2b) → ico16, ico16v2, ico16v10, ico16v4
  262. Polygon(icoV12, icoV4, icoV2c) → ico17, ico17v2, ico17v12, ico17v4
  263. Polygon(icoV12, icoV2, icoV7d) → ico18, ico18v7, ico18v12, ico18v2
  264. Polygon(icoV5, icoV2, icoV7e) → ico19, ico19v7, ico19v5, ico19v2
  265. Polygon(icoV5, icoV10, icoV2d) → ico20, ico20v2, ico20v5, ico20v10
  266. Segment(icoV5, icoV7) → icoA01'
  267. Segment(icoV5, icoV1) → icoA02'
  268. Segment(icoV1, icoV7) → icoA03'
  269. Segment(icoV7, icoV11) → icoA04'
  270. Segment(icoV9, icoV5) → icoA05'
  271. Segment(icoV11, icoV12) → icoA06'
  272. Segment(icoV9, icoV1) → icoA07'
  273. Segment(icoV7, icoV12) → icoA08'
  274. Segment(icoV5, icoV10) → icoA09'
  275. Segment(icoV9, icoV10) → icoA10'
  276. Segment(icoV11, icoV8) → icoA11'
  277. Segment(icoV2, icoV10) → icoA12'
  278. Segment(icoV8, icoV12) → icoA13'
  279. Segment(icoV4, icoV10) → icoA14'
  280. Segment(icoV1, icoV11) → icoA15'
  281. Segment(icoV3, icoV1) → icoA16'
  282. Segment(icoV3, icoV11) → icoA17'
  283. Segment(icoV3, icoV8) → icoA18'
  284. Segment(icoV7, icoV2) → icoA19'
  285. Segment(icoV6, icoV8) → icoA20'
  286. Segment(icoV2, icoV12) → icoA21'
  287. Segment(icoV6, icoV3) → icoA22'
  288. Segment(icoV4, icoV12) → icoA23'
  289. Segment(icoV9, icoV3) → icoA24'
  290. Segment(icoV4, icoV2) → icoA25'
  291. Segment(icoV9, icoV6) → icoA26'
  292. Segment(icoV4, icoV8) → icoA27'
  293. Segment(icoV6, icoV10) → icoA28'
  294. Segment(icoV5, icoV2) → icoA29'
  295. Segment(icoV6, icoV4) → icoA30'
  296. Midpoint(icoV1, icoV11) → icoA15M
  297. Mirror(V5, icoA15M) → V15
  298. Segment(V5, V15) → A13
  299. Midpoint(icoV1, icoV7) → icoA03M
  300. Mirror(V5, icoA03M) → V12
  301. Segment(V5, V12) → A12
  302. Segment(V12, V2) → A11
  303. Midpoint(icoV9, icoV1) → icoA07M
  304. Mirror(V2, icoA07M) → V14
  305. Segment(V2, V14) → A1
  306. Segment(V14, V15) → A2
  307. Midpoint(icoV9, icoV5) → icoA05M
  308. Mirror(V2, icoA05M) → V11
  309. Segment(V2, V11) → A10
  310. Midpoint(icoV5, icoV7) → icoA01M
  311. Mirror(V12, icoA01M) → V20
  312. Segment(V12, V20) → A20
  313. Segment(V11, V1) → A9
  314. Segment(V20, V1) → A19
  315. Segment(V14, V3) → A21
  316. Midpoint(icoV9, icoV10) → icoA10M
  317. Mirror(V11, icoA10M) → V10
  318. Segment(V11, V10) → A29
  319. Segment(V10, V3) → A30
  320. Segment(V10, V4) → A28
  321. Midpoint(icoV4, icoV10) → icoA14M
  322. Mirror(V4, icoA14M) → V18
  323. Segment(V1, V18) → A8
  324. Segment(V4, V18) → A27
  325. Segment(V20, V6) → A18
  326. Midpoint(icoV2, icoV12) → icoA21M
  327. Mirror(V6, icoA21M) → V17
  328. Segment(V18, V17) → A7
  329. Segment(V17, V6) → A17
  330. Segment(V17, V8) → A6
  331. Midpoint(icoV4, icoV8) → icoA27M
  332. Mirror(V8, icoA27M) → V19
  333. Segment(V4, V19) → A26
  334. Segment(V19, V8) → A25
  335. Midpoint(icoV12, icoV7) → icoA08M
  336. Mirror(V6, icoA08M) → V13
  337. Segment(V6, V13) → A16
  338. Segment(V13, V5) → A14
  339. Midpoint(icoV8, icoV12) → icoA13M
  340. Mirror(V8, icoA13M) → V16
  341. Segment(V8, V16) → A5
  342. Segment(V16, V13) → A15
  343. Segment(V15, V7) → A3
  344. Segment(V16, V7) → A4
  345. Midpoint(icoV8, icoV6) → icoA20M
  346. Mirror(V19, icoA20M) → V9
  347. Segment(V9, V19) → A24
  348. Segment(V3, V9) → A22
  349. Segment(V9, V7) → A23
  350. Angle(V11, dodM9, V1) → dod9Ang
  351. If(dod9Ang < 180°, V2, V11) → V2b
  352. If(dod9Ang < 180°, V12, V11) → V12b
  353. If(dod9Ang < 180°, V20, V1) → V20b
  354. Angle(V12, dodM1, V5) → dod01Ang
  355. If(dod01Ang < 180°, V2, V12) → V2c
  356. If(dod01Ang < 180°, V14, V12) → V14b
  357. If(dod01Ang < 180°, V15, V5) → V15b
  358. Angle(V5, dodM3, V13) → dod03Ang
  359. If(dod03Ang < 180°, V15, V5) → V15c
  360. If(dod03Ang < 180°, V7, V5) → V7b
  361. If(dod03Ang < 180°, V16, V13) → V16b
  362. Angle(V20, dodM4, V6) → dod4Ang
  363. If(dod4Ang < 180°, V12, V20) → V12c
  364. If(dod4Ang < 180°, V5, V20) → V5b
  365. If(dod4Ang < 180°, V13, V6) → V13b
  366. Angle(V1, dodM12, V18) → dod12Ang
  367. If(dod12Ang < 180°, V20, V1) → V20c
  368. If(dod12Ang < 180°, V6, V1) → V6b
  369. If(dod12Ang < 180°, V17, V18) → V17b
  370. Angle(V16, dodM5, V13) → dod5Ang
  371. If(dod5Ang < 180°, V6, V13) → V6c
  372. If(dod5Ang < 180°, V17, V13) → V17c
  373. If(dod5Ang < 180°, V8, V16) → V8b
  374. Angle(V10, dodM8, V11) → dod8Ang
  375. If(dod8Ang < 180°, V2, V11) → V2d
  376. If(dod8Ang < 180°, V14, V11) → V14c
  377. If(dod8Ang < 180°, V3, V10) → V3b
  378. Angle(V15, dodM2, V7) → dod02Ang
  379. If(dod02Ang < 180°, V14, V15) → V14d
  380. If(dod02Ang < 180°, V3, V15) → V3c
  381. If(dod02Ang < 180°, V9, V7) → V9b
  382. Angle(V19, dodM6, V9) → dod6Ang
  383. If(dod6Ang < 180°, V8, V19) → V8c
  384. If(dod6Ang < 180°, V16, V19) → V16c
  385. If(dod6Ang < 180°, V7, V9) → V7c
  386. Angle(V4, dodM7, V10) → dod7Ang
  387. If(dod7Ang < 180°, V3, V10) → V3d
  388. If(dod7Ang < 180°, V9, V10) → V9c
  389. If(dod7Ang < 180°, V19, V4) → V19b
  390. Angle(V18, dodM11, V4) → dod11Ang
  391. If(dod11Ang < 180°, V17, V18) → V17d
  392. If(dod11Ang < 180°, V8, V18) → V8d
  393. If(dod11Ang < 180°, V19, V4) → V19c
  394. Angle(V1, dodM10, V11) → dod10Ang
  395. If(dod10Ang < 180°, V18, V1) → V18b
  396. If(dod10Ang < 180°, V4, V1) → V4b
  397. If(dod10Ang < 180°, V10, V11) → V10b
  398. Polygon(V2b, V12b, V20b, V1, V11) → dod9, dod9v2, dod9v12, dod9v20, dod9v1, dod9v11
  399. Polygon(V2c, V14b, V15b, V5, V12) → dod01, dod01v2, dod01v14, dod01v15, dod01v5, dod01v12
  400. Polygon(V15c, V7b, V16b, V13, V5) → dod03, dod03v15, dod03v7, dod03v16, dod03v13, dod03v5
  401. Polygon(V12c, V5b, V13b, V6, V20) → dod4, dod4v12, dod4v5, dod4v13, dod4v6, dod4v20
  402. Polygon(V20c, V6b, V17b, V18, V1) → dod12, dod12v20, dod12v6, dod12v17, dod12v18, dod12v1
  403. Polygon(V6c, V17c, V8b, V16, V13) → dod5, dod5v6, dod5v17, dod5v8, dod5v16, dod5v13
  404. Polygon(V2d, V14c, V3b, V10, V11) → dod8, dod8v2, dod8v14, dod8v3, dod8v10, dod8v11
  405. Polygon(V14d, V3c, V9b, V7, V15) → dod02, dod02v14, dod02v3, dod02v9, dod02v7, dod02v15
  406. Polygon(V8c, V16c, V7c, V9, V19) → dod6, dod6v8, dod6v16, dod6v7, dod6v9, dod6v19
  407. Polygon(V3d, V9c, V19b, V4, V10) → dod7, dod7v3, dod7v9, dod7v19, dod7v4, dod7v10
  408. Polygon(V17d, V8d, V19c, V4, V18) → dod11, dod11v17, dod11v8, dod11v19, dod11v4, dod11v18
  409. Polygon(V18b, V4b, V10b, V11, V1) → dod10, dod10v18, dod10v4, dod10v10, dod10v11, dod10v1
  410. Segment(V2, V14) → A1'
  411. Segment(V2, V11) → A10'
  412. Segment(V12, V2) → A11'
  413. Segment(V5, V12) → A12'
  414. Segment(V5, V15) → A13'
  415. Segment(V13, V5) → A14'
  416. Segment(V16, V13) → A15'
  417. Segment(V6, V13) → A16'
  418. Segment(V17, V6) → A17'
  419. Segment(V20, V6) → A18'
  420. Segment(V20, V1) → A19'
  421. Segment(V14, V15) → A2'
  422. Segment(V12, V20) → A20'
  423. Segment(V14, V3) → A21'
  424. Segment(V3, V9) → A22'
  425. Segment(V9, V7) → A23'
  426. Segment(V9, V19) → A24'
  427. Segment(V19, V8) → A25'
  428. Segment(V4, V19) → A26'
  429. Segment(V4, V18) → A27'
  430. Segment(V10, V4) → A28'
  431. Segment(V11, V10) → A29'
  432. Segment(V15, V7) → A3'
  433. Segment(V10, V3) → A30'
  434. Segment(V16, V7) → A4'
  435. Segment(V8, V16) → A5'
  436. Segment(V17, V8) → A6'
  437. Segment(V18, V17) → A7'
  438. Segment(V1, V18) → A8'
  439. Segment(V11, V1) → A9'

AI Drawing Prompt Reference

Draw a 3D geometric shape constructed from ellipse sections using rotation, translation, and mirror transformations. Start by drawing two ellipse sections, find their intersection points, and define key angles θ and φ. Then, through translation and rotation of these ellipse sections, generate a series of polygonal faces to form a polyhedral-like structure. Pay attention to the direction of angles and vectors to ensure correct assembly of the geometry.
The prompt above was compiled from the original drawing commands and is for reference only.