Self-Dual Tetrahedron
Loading the math board and drawing, please wait…
In collections
geometriadinamica.es
This example illustrates the self-dual property of a tetrahedron. It involves the properties of triangles and parametric equations. Using GeoGebra commands such as OrthogonalLine, Circle, and Intersect, the dual image of the tetrahedron can be constructed. Suitable for high school geometry learners and math enthusiasts.
GeoGebra Commands & Parameters
OrthogonalLine(C, xAxis) → eCircle(C, 9.5) → dIntersect(d, e, 2) → HPoint(d) → GAngle(G, C, H) → angIf(t < 3, (abs(sgn(t)) * (sgn(t) - 1) / -2), Min[t - 3, 1]) → t4If(t < 2, 0, Min[t - 2, 1]) → t3If(t < 1, (abs(sgn(t)) * (sgn(t) - 1) / -2), Min[t - 1, 1]) → t2Ellipse(O_r - (0, 0.95), O_r + (0, 0.95), 1) → mira2Point(mira2) → BEllipse(O_r - (0.95, 0), O_r + (0.95, 0), 1) → mira1Point(mira1) → Apunto3d(A, B, M, O_0, O_r, -1, 1, 1, U, L) → V3punto3d(A, B, M, O_0, O_r, 1, 1, -1, U, L) → V1punto3d(A, B, M, O_0, O_r, -1, -1, -1, U, L) → V4Baricentro1(V1, V4, V3) → C4punto3d(A, B, M, O_0, O_r, 1, -1, 1, U, L) → V2Baricentro1(V1, V2, V4) → C2Midpoint(C2, C4) → S6Baricentro1(V1, V2, V3) → C1Midpoint(C1, C4) → S3Midpoint(C1, C2) → S4Baricentro1(S4, S3, S6) → S346If(t5 < 4, 0, t5 - 4) → t6Midpoint(V1, V4) → octV6'Midpoint(V1, V2) → octV1'Midpoint(V1, V3) → octV2'Midpoint(V4, V3) → octV3'Midpoint(V2, V4) → octV4'Midpoint(V2, V3) → octV5'If(t < 0, t + 5, t) → t5'If(t > 2, 2, 1) → t32If(t < 1, 0, If[t > 2, 3 - t, t - 1]) → t2'If(t > 2, (t2' - 1) / 2, 0) → t31Intersect(mira1, mira2) → Mira1, Mira2, Mira3, Mira4Angle(M, O_r, B) → θAngle(U, O_r, A) → φVector(O_r, O_0) → uTranslate(Xr, u) → X0Translate(Zr, u) → Z0Translate(Yr, u) → Y0Vector(O_0, Z0) → vVector(O_0, Y0) → wVector(O_0, X0) → zCircle(O_0, L) → cLine(O_0, Y0) → aLine(O_0, yAxis) → bLine(O_0, X0) → gLine(Z0, O_0) → jTranslate(P1r, u) → P1Segment(Mira3, Mira2) → kSegment((-1, 0), U) → lSegment((0, -1), M) → mIf(t1 > 0 ∧ t2 ≟ 0, true, false) → ver1If(t > 1 ∧ t ≤ 2, true, false) → ver2If(t3 > 0 ∧ t3 ≤ 1 ∧ t4 ≟ 0, true, false) → ver3If(t4 > 0 ∧ t6 ≟ 0, true, false) → ver4If(t6 > 0, true, false) → ver5Intersect(d, e, 2) → EIntersect(d, e, 1) → FRotate(H, 324°, C) → IRotate(H, 252°, C) → JRotate(H, 108°, C) → KRotate(H, 36°, C) → NRotate(H, 210°, C) → ORotate(H, 132°, C) → PRotate(H, 64.5°, C) → QRotate(H, 277.00000000000006°, C) → RAngle(I, C, H) → αAngle(J, C, H) → βAngle(H, C, K) → γAngle(H, C, N) → δAngle(O, C, H) → εAngle(P, C, H) → ζAngle(Q, C, H) → ηAngle(R, C, H) → ιOrthogonalLine(C, yAxis) → hCircleArc(C, N, I) → fCircleArc(C, I, N) → pBaricentro(V2c, V2b, V3c, V3b, V1b, V1c) → H4Midpoint(V2, V3) → A1Baricentro(V2a, V2c, V1c, V1a, V4a, V4b) → H1Baricentro(V3a, V3c, V2b, V2a, V4b, V4c) → H2Baricentro(V1a, V1b, V3b, V3a, V4c, V4a) → H3Midpoint(V1, V4) → A2Midpoint(V1, V2) → A3Midpoint(V1, V3) → A4Midpoint(V2, V4) → A5Midpoint(V4, V3) → A6Baricentro1(A2, A4, A3) → B1Baricentro1(A1, A3, A5) → B2Baricentro1(A4, A6, A1) → B3Baricentro1(A1, A3, A4) → B4Baricentro1(A5, A6, A1) → B5Baricentro1(A5, A6, A2) → B6Baricentro1(A3, A5, A2) → B7Baricentro1(A6, A4, A2) → B8Baricentro(B8c, B5c, B5b, B7c, B7a, B8a) → HE1Baricentro(B4a, B5a, B5b, B7c, B7b, B4b) → HE2Baricentro(B7b, B4b, B4c, B8b, B8a, B7a) → HE3Baricentro(B8b, B8c, B5c, B5a, B4a, B4c) → HE4Baricentro1(V2, V3, V4) → C3Baricentro(C1c, C3c, C4c, C1b, C3a, C4a) → HEX1Baricentro(C2a, C4a, C1c, C2c, C4b, C3b) → HEX2Baricentro(C1a, C3b, C2a, C2b, C3a, C1b) → HEX3Baricentro(C4c, C2b, C3c, C2c, C4b, C3b) → HEX4Midpoint(C1, C3) → S1Midpoint(C3, C4) → S2Midpoint(C2, C3) → S5Baricentro1(S5, S1, S4) → S145Baricentro1(S5, S2, S6) → S256Baricentro1(S1, S2, S3) → S123Baricentro(P2b, P2a, P1a, P1c, P3a, P3b) → HEXA1Baricentro(P4c, P3c, P3b, P2b, P2c, P4b) → HEXA2Baricentro(P4a, P1b, P1c, P3a, P3c, P4c) → HEXA3Baricentro(P4b, P4a, P1b, P1a, P2a, P2c) → HEXA4Angle(V4a, H1, V1a) → angH1Angle(V4b, H2, V2a) → angH2Angle(V3b, H3, V1b) → angH3Angle(V1b, H4, V3b) → angH4Angle(V1a, V1c, V1b) → angV1Angle(V2c, V2a, V2b) → angV2Angle(V3c, V3a, V3b) → angV3Angle(V4a, V4c, V4b) → angV4Angle(B4c, B4b, B4a) → angTR1Angle(B7a, B7c, B7b) → angTR2Angle(B8c, B8a, B8b) → angTR3Angle(B5a, B5b, B5c) → angTR4Angle(B7a, HE1, B7c) → angHE1Angle(B4b, HE2, B4a) → angHE2Angle(B4c, HE3, B4b) → angHE3Angle(B8c, HE4, B5c) → angHE4Angle(C3c, HEX1, C4c) → angHEX1Angle(C4b, HEX2, C2c) → angHEX2Angle(C1a, HEX3, C2a) → angHEX3Angle(C2c, HEX4, C4b) → angHEX4Angle(C4a, C2a, C3a) → angTRI1Angle(C4b, C3b, C1a) → angTRI2Angle(C2c, C1c, C3c) → angTRI3Angle(C2b, C4c, C1b) → angTRI4Angle(P3b, HEXA1, P3a) → angHEXA1Angle(P2b, HEXA2, P2c) → angHEXA2Angle(P1b, HEXA3, P1c) → angHEXA3Angle(P1a, HEXA4, P1b) → angHEXA4Angle(P2b, P2c, P2a) → angTRIA1Angle(P1b, P1c, P1a) → angTRIA2Angle(P3a, P3c, P3b) → angTRIA3Angle(P4a, P4b, P4c) → angTRIA4Angle(Q2, Q1, Q4) → angPL1Angle(Q3, Q1, Q2) → angPL2Angle(Q3, Q4, Q1) → angPL3Angle(Q2, Q4, Q3) → angPL4Segment(V4, V3) → v34'Segment(V2, V1) → v12'Segment(V1, V3) → v13'Segment(V4, V1) → v14'Segment(V2, V4) → v24'Segment(V2, V3) → v23'Polygon(B8a, B8c, B5c, B5b, B7c, B7a) → he1, tr3he1', he14', tr4he1', he12', tr2he1', he13'Polygon(B4a, B5a, B5b, B7c, B7b, B4b) → he2, he24, tr4he2', he12, tr2he2', he23, tr1he2'Polygon(B7a, B8a, B8b, B4c, B4b, B7b) → he3, he13, tr3he3', he34', tr1he3', he23', tr2he3'Polygon(B8b, B8c, B5c, B5a, B4a, B4c) → he4, tr3he4', he14, tr4he4', he24', tr1he4', he34Polygon(C2a, C3a, C4a) → tri1, tri1hex3, tri1hex1, tri1hex2Polygon(C3b, C1a, C4b) → tri2, tri2hex3, tri2hex2, tri2hex4Polygon(C2c, C1c, C3c) → tri3, tri3hex2, tri3hex1, tri3hex4Polygon(C2b, C1b, C4c) → tri4, tri4hex3, tri4hex1, tri4hex4Polygon(C1c, C3c, C4c, C1b, C3a, C4a) → hex1, tri3hex1', hex14', tri4hex1', hex13', tri1hex1', hex12'Polygon(C2a, C1a, C4b, C2c, C1c, C4a) → hex2, hex23, tri2hex2', hex24', tri3hex2', hex12, tri1hex2'Polygon(C1b, C3a, C2a, C1a, C3b, C2b) → hex3, hex13, tri1hex3', hex23', tri2hex3', hex34', tri4hex3'Polygon(C2b, C3b, C4b, C2c, C3c, C4c) → hex4, hex34, tri2hex4', hex24, tri3hex4', hex14, tri4hex4'Polygon(P2b, P2a, P2c) → tria1, tria11, tria14, tria12Polygon(P1c, P1a, P1b) → tria2, tria21, tria24, tria23Polygon(P3b, P3c, P3a) → tria3, tria32, tria33, tria31Polygon(P4c, P4b, P4a) → tria4, tria42, tria44, tria43Polygon(P1a, P1c, P3a, P3b, P2b, P2a) → hexa1, tria21', hexa13, tria31', hexa12, tria11', hexa14Polygon(P3c, P4c, P4b, P2c, P2b, P3b) → hexa2, hexa23, tria42', hexa24, tria12', hexa12', tria32'Polygon(P3c, P3a, P1c, P1b, P4a, P4c) → hexa3, tria33', hexa13', tria23', hexa34', tria43', hexa23'Polygon(P4a, P4b, P2c, P2a, P1a, P1b) → hexa4, tria44', hexa24', tria14', hexa14', tria24', hexa34Polygon(Q2, Q4, Q1) → poly1, q14, q13, q12Polygon(Q2, Q3, Q1) → poly2, q24, q23, q12'Polygon(Q4, Q3, Q1) → poly3, q34, q23', q13'Polygon(Q2, Q3, Q4) → poly4, q24', q34', q14'Segment(V2, V1) → v12Segment(V1, V3) → v13Segment(V4, V1) → v14Segment(V2, V3) → v23Segment(V2, V4) → v24Segment(V4, V3) → v34Polygon(V1c, V2c, V2a, V4b, V4a, V1a) → h1, a14, a1t2', a12, a1t4', a13, a1t1'Polygon(V2a, V2b, V3c, V3a, V4c, V4b) → h2, a2t2', a24, a2t3', a23, a2t4', a12'Polygon(V1b, V3b, V3a, V4c, V4a, V1a) → h3, a43, a3t3', a23', a3t4', a13', a3t1'Polygon(V2c, V2b, V3c, V3b, V1b, V1c) → h4, a4t2', a24', a4t3', a43', a4t1', a14'Polygon(V2c, V2a, V2b) → t02, a1t2, a2t2, a4t2Polygon(V1a, V1b, V1c) → t01, a3t1, a4t1, a1t1Polygon(V4a, V4b, V4c) → t04, a1t4, a2t4, a3t4Polygon(V3a, V3b, V3c) → t03, a3t3, a4t3, a2t3Polygon(B4b, B4a, B4c) → tr1, tr1he2, tr1he4, tr1he3Polygon(B5b, B5a, B5c) → t4', tr4he2, tr4he4, tr4he1Polygon(B7b, B7c, B7a) → tr2, tr2he2, tr2he1, tr2he3Polygon(B8a, B8c, B8b) → tr3, tr3he1, tr3he4, tr3he3Segment(B5, B7) → iSegment(B5, B8) → nSegment(B5, B4) → qSegment(B7, B4) → rSegment(B4, B8) → sSegment(B8, B7) → a1Angle(V2, V1, V4) → ang1Angle(V2, V3, V1) → ang2Angle(V4, V1, V3) → ang3Angle(V2, V4, V3) → ang4Angle(H, O_0, G) → κ
AI Drawing Prompt Reference
Construct a self-dual tetrahedron in three-dimensional space. Begin by defining coordinate axes with the origin as center, and create a large auxiliary circle. Select two moving points on this circle to serve as control parameters. Using these points, construct two perpendicular ellipses and take points on them as additional controls. Generate four vertices through a custom 3D point function, then connect these vertices to form the six edges of a tetrahedron. Further construct the centroids of each face and the midpoints of each edge, then find the centroid of these midpoints. Finally, display the coordinate axes, auxiliary circle, both ellipses, and all vertices and edges of the tetrahedron to illustrate the self-dual relationship.
The prompt above was compiled from the original drawing commands and is for reference only.