Rhombic Tori
Loading the math board and drawing, please wait…
This example demonstrates the construction of rhombic tori and the patterns of their angle measures. It involves core mathematical concepts like polygons, angles, solid geometry, and transformations. The construction uses commands such as Rotate, Line, Mirror, Polygon, RemoveUndefined, Length, and First in GeoGebra. It is suitable for high school students and above to explore geometric transformations and properties of solid figures.
GeoGebra Commands & Parameters
Rotate(B, (360 * ° / N), A) → B'Rotate(B', (360 * ° / N), A) → B''Rotate(B, first, B') → B'_1Line(B'_1, B) → fMirror(B', f) → B''_1Polygon(B', B, B''_1, B'_1) → poly1, b', b, b''_1, b'_1Rotate(B', first, B'') → B''_2Rotate(B''_1, (360 * ° / N), A) → CLine(C, B'_1) → gMirror(B', g) → B''_3Line(B''_3, B''_1) → hMirror(B'_1, h) → DPolygon(B'', B', C, B''_2) → poly2, b'', b'_2, c, b''_2Polygon(B', B'_1, B''_3, C) → poly3, b'_3, b'_4, b''_3, c_1Polygon(B'_1, B''_1, D, B''_3) → poly4, b'_5, b''_4, d, b''_5Rotate(B', (-((360 * ° / N))), A) → B''_4Rotate(B'_1, (-((360 * ° / N))), A) → ERotate(B''_3, (-((360 * ° / N))), A) → FRotate(C, (-((360 * ° / N))), A) → C'Polygon(B''_4, E, F, C') → poly3', b''_6, e, f_1, c'Line(D, F) → iMirror(B''_1, i) → GPolygon(F, B''_1, D, G) → poly5, f_2, b''_7, d_1, g_1Rotate(B'_1, (-((360 * ° / N))), A) → HRotate(B''_1, (-((360 * ° / N))), A) → IRotate(D, (-((360 * ° / N))), A) → D'Rotate(B''_3, (-((360 * ° / N))), A) → JPolygon(H, I, D', J) → poly4', h_1, i_1, d', jLine(G, D') → kMirror(F, k) → F'Polygon(D', F', G, F) → poly6, d'_1, f', g_2, f_3Rotate(F, (-((360 * ° / N))), A) → F'_1Rotate(B''_1, (-((360 * ° / N))), A) → KRotate(D, (-((360 * ° / N))), A) → D'_1Rotate(G, (-((360 * ° / N))), A) → G'Polygon(F'_1, K, D'_1, G') → poly5', f'_1, k_1, d'_2, g'Line(F', G') → lMirror(D', l) → D''Polygon(G', D'', F', D') → poly7, g'_1, d'', f'_2, d'_3Rotate(D', (-((360 * ° / N))), A) → D''_1Rotate(F', (-((360 * ° / N))), A) → F''Rotate(G, (-((360 * ° / N))), A) → G'_1Rotate(F, (-((360 * ° / N))), A) → F'_2Polygon(D''_1, F'', G'_1, F'_2) → poly6', d''_1, f'', g'_2, f'_3Line(D'', F'') → mMirror(G', m) → G''Polygon(F'', G', D'', G'') → poly8, f''_1, g'_3, d''_2, g''Rotate(G', (-((360 * ° / N))), A) → G''_1Rotate(D'', (-((360 * ° / N))), A) → D'''Rotate(F', (-((360 * ° / N))), A) → F''_1Rotate(D', (-((360 * ° / N))), A) → D''_2Polygon(G''_1, D''', F''_1, D''_2) → poly7', g''_1, d''', f''_2, d''_3Line(G'', D''') → nMirror(F'', n) → F'''Polygon(D''', F'', G'', F''') → poly9, d'''_1, f''_3, g''_2, f'''Rotate(F'', (-((360 * ° / N))), A) → F'''_1Rotate(G', (-((360 * ° / N))), A) → G''_2Rotate(D'', (-((360 * ° / N))), A) → D'''_1Rotate(G'', (-((360 * ° / N))), A) → G'''Polygon(F'''_1, G''_2, D'''_1, G''') → poly8', f'''_1, g''_3, d'''_2, g'''Line(G''', F''') → pMirror(D''', p) → LPolygon(G''', D''', F''', L) → poly10, g'''_1, d'''_3, f'''_2, l_1Rotate(D''', (-((360 * ° / N))), A) → M_1Rotate(F'', (-((360 * ° / N))), A) → F'''_2Rotate(G'', (-((360 * ° / N))), A) → G'''_1Rotate(F''', (-((360 * ° / N))), A) → OPolygon(M_1, F'''_2, G'''_1, O) → poly9', m_1, f'''_3, g'''_2, oLine(O, L) → qMirror(G''', q) → PPolygon(O, P, L, G''') → poly11, o_1, p_1, l_2, g'''_3RemoveUndefined(Sequence[If[Element[list1, i] < 180°, Element[list1, i]], i, 1, Length[list1]]) → list2Length(list2) → MFirst({poly2, poly3, poly4, poly5, poly6, poly7, poly8, poly9, poly10, poly11}, M) → list3Rotate(list3, (360 * ° / N), A) → list3'Rotate(list3', (360 * ° / N), A) → list3''Rotate(list3'', (360 * ° / N), A) → list3'''Rotate(list3''', (360 * ° / N), A) → list4Rotate(list4, (360 * ° / N), A) → list4'Rotate(list4', (360 * ° / N), A) → list4''Rotate(list4'', (360 * ° / N), A) → list4'''Rotate(list4''', (360 * ° / N), A) → list5Rotate(list5, (360 * ° / N), A) → list5'Rotate(list5', (360 * ° / N), A) → list5''Rotate(list5'', (360 * ° / N), A) → list5'''