Animation 52: Parallelogram Fractal with Equilateral Triangle Vector Constructio
Loading the math board and drawing, please wait…
①This example demonstrates a dynamic fractal animation built from parallelograms and equilateral triangles, generating complex patterns through iterative scaling and rotation. ②Core mathematical concepts include parallelogram properties, equilateral triangles, vector translation and rotation, fractal geometry, and transformations in 3D vector space. ③Construction highlights: from the summary, GeoGebra commands such as Polygon, Midpoint, Dilate, Segment, Rotate, Vector, and Translate are used, involving base points A, B, C, D, polygon poly1, midpoints E, F, G, H, and derived points A', B', C', D' created via rotation and translation, forming multi-level nested structures. ④Suitable for high school and above to study geometric transformations, vector operations, and fractal introduction, also useful for mathematical art or dynamic demonstrations.
GeoGebra Commands & Parameters
Polygon(A, B, C, D) → poly1, a, b, c, dMidpoint(A, B) → EMidpoint(B, C) → FMidpoint(C, D) → GMidpoint(D, A) → HPolygon(E, F, G, H) → poly2, e, f, g, hDilate(A, If[0 < i ≤ 1, 1 - i, 0], E) → A'Dilate(B, If[0 < i ≤ 1, 1 - i, 0], F) → B'Dilate(C, If[0 < i ≤ 1, 1 - i, 0], G) → C'Dilate(D, If[0 < i ≤ 1, 1 - i, 0], H) → D'Segment(A, A') → jSegment(B, B') → kSegment(C, C') → lSegment(D, D') → mDilate(E, If[1 < i ≤ 2, 2 - i, 0], B) → E'Dilate(F, If[1 < i ≤ 2, 2 - i, 0], C) → F'Dilate(G, If[1 < i ≤ 2, 2 - i, 0], D) → G'Dilate(H, If[1 < i ≤ 2, 2 - i, 0], A) → H'Segment(E, E') → nSegment(F, F') → pSegment(G, G') → qSegment(H, H') → rRotate(A, If[2 < i ≤ 3, ((-(i - 2)) * π), (-π)], E) → A'_1Rotate(A', If[2 < i ≤ 3, ((-(i - 2)) * π), (-π)], E) → A''Segment(A'_1, A'') → j'Rotate(B, If[2 < i ≤ 3, ((-(i - 2)) * π), (-π)], F) → B'_1Rotate(B', If[2 < i ≤ 3, ((-(i - 2)) * π), (-π)], F) → B''Segment(B'_1, B'') → k'Rotate(C, If[2 < i ≤ 3, ((-(i - 2)) * π), (-π)], G) → C'_1Rotate(C', If[2 < i ≤ 3, ((-(i - 2)) * π), (-π)], G) → C''Segment(C'_1, C'') → l'Rotate(D, If[2 < i ≤ 3, ((-(i - 2)) * π), (-π)], H) → D'_1Rotate(D', If[2 < i ≤ 3, ((-(i - 2)) * π), (-π)], H) → D''Segment(D'_1, D'') → m'Dilate(E, If[3 < i ≤ 4, 4 - i, 0], F) → E'_1Segment(E, E'_1) → sDilate(F, If[4 < i ≤ 5, 5 - i, 0], G) → F'_1Segment(F, F'_1) → tDilate(E, If[5 < i ≤ 6, 6 - i, 0], H) → E'_2Vector(E, E'_2) → uTranslate(E, u) → E'_3Translate(E'_1, u) → ISegment(E'_3, I) → s'Dilate(G, If[6 < i ≤ 7, 7 - i, 0], H) → G'_1Vector(G, G'_1) → vTranslate(F, v) → F'_2Translate(F'_1, v) → JSegment(F'_2, J) → t'