Practice Game: Dilations Centered at the Origin (0,0)
Loading the math board and drawing, please wait…
This example demonstrates how a geometric dilation centered at the origin (0,0) scales points, segments, and resulting shapes while preserving similarity. It focuses on key ideas from coordinate geometry and transformations: dilations, similarity transformations, proportionality from the origin, and the emergence of similar triangles formed by corresponding vertices. The construction uses GeoGebra commands to generate and manage variable geometry: Sequence, Flatten, Shuffle, Take, RandomElement, If, and Segment. It organizes many drawable objects—such as listSF, lists of points/targets like listT_1 to listT_5, listR_1 to listR_5, listS_1 to listS_5, listF_1 to listF_5, and additional collections like listE_1 to listE_5, listD_1 to listD_5, listC_1 to listC_5, and listB_1 to listB_3. The scalar factor scalfact controls how the configuration expands or contracts. Suitable for middle/high school learners and for classroom demonstrations or interactive practice on similarity and geometric transformation behavior.
GeoGebra Commands & Parameters
Sequence(Sequence[((2 * i_{2}), (2 * j_{2})), i_{2}, -6, 6], j_{2}, -6, 6) → listT_{2}Flatten(listT_{2}) → listR_2Shuffle(listR_2) → listS_2, {(-4, -2), (4, -8), (8, 2), (-2, -6), (2, 0), (-8, 0), (12, 8), (0, -12), (0, 10), (12, -10), (4, -4), (10, 4), (8, 6), (-10, 2), (-6, -4), (-8, 6), (4, 12), (2, -10), (-12, 4), (4, 8), (0, -6), (8, -4), (10, -2), (-6, 6), (10, 12), (-12, -6), (4, 4), (-4, 12), (-12, -2), (4, -6), (-10, 10), (8, -2), (-2, 2), (12, -2), (-12, -10), (-12, 8), (-4, 0), (12, 6), (-4, -4), (2, -6), (6, 12), (8, 10), (-8, 4), (6, 8), (0, -2), (-6, 8), (-4, -10), (-12, -8), (0, 0), (-6, 2), (-8, 12), (6, -6), (8, -12), (6, 2), (0, -8), (8, -8), (6, -4), (-12, -4), (-2, -10), (2, 2), (-4, 2), (-2, -8), (4, -12), (-6, 10), (10, -10), (4, 10), (2, -12), (10, -12), (-12, 0), (12, -12), (12, 2), (-12, 12), (-4, 4), (-8, -10), (-2, -12), (10, 10), (12, 12), (0, 6), (0, 12), (8, 0), (8, -6), (-8, -2), (-10, 0), (4, 2), (-2, 4), (-8, -6), (0, 4), (4, -10), (6, 6), (12, 10), (8, 12), (-10, -12), (-8, 8), (-8, -8), (10, -8), (-8, -12), (-12, 10), (-4, -8), (2, -8), (6, -8), (-2, 10), (6, 0), (2, -2), (-12, 6), (-12, 2), (2, 10), (-4, 10), (8, -10), (-6, 4), (0, 8), (12, 0), (-10, -8), (-8, 10), (-2, 6), (-2, -4), (-6, -10), (10, 6), (-4, -6), (-12, -12), (2, 6), (6, -12), (-2, 0), (0, -4), (-8, 2), (0, -10), (-2, 12), (-10, 4), (12, 4), (2, 4), (8, 4), (-4, -12), (-6, -12), (-10, -10), (4, 0), (-2, 8), (-10, -4), (10, 0), (12, -8), (-10, -2), (-8, -4), (-4, 6), (-10, -6), (8, 8), (2, 8), (4, -2), (-10, 8), (-6, 0), (-2, -2), (12, -6), (-6, -6), (6, 10), (-4, 8), (-10, 12), (-10, 6), (0, 2), (-6, 12), (6, -10), (-6, -8), (6, 4), (12, -4), (4, 6), (-6, -2), (10, 2), (2, 12), (10, -4), (10, -6), (6, -2), (2, -4), (10, 8)}Take(listS_2, 6, 6) → listF_2Sequence(Sequence[(i, j), i, -10, 10], j, -10, 10) → listT_{1}Flatten(listT_{1}) → listR_{1}Shuffle(listR_{1}) → listS_{1}, {(-8, 10), (2, 2), (5, 8), (-5, -5), (10, -8), (-10, 2), (1, 3), (-8, -9), (8, 10), (3, 4), (5, 10), (-3, 9), (0, -10), (-4, 7), (0, 3), (0, 7), (10, 4), (7, 10), (-6, 8), (2, -7), (-8, -10), (0, -1), (-5, -8), (6, -5), (-4, -9), (7, -6), (-9, 10), (6, -6), (0, 8), (6, 9), (2, 7), (-1, 3), (2, 8), (3, 2), (-9, 9), (10, 1), (-3, -8), (-8, 1), (-2, -8), (-1, -8), (-1, -2), (-5, 7), (10, -4), (0, -8), (-6, -3), (6, -8), (-2, 0), (3, -1), (0, 2), (-9, -7), (-9, -1), (-7, 7), (-1, -4), (10, 6), (-9, -10), (5, 3), (6, -2), (-8, 4), (4, -10), (-1, -10), (2, 6), (5, -5), (1, 4), (7, 6), (-4, -10), (6, 2), (0, -9), (5, -9), (8, -6), (-8, -3), (8, -3), (-8, -4), (9, -10), (6, -1), (1, 1), (-1, -3), (9, 8), (6, 6), (0, -6), (-7, -6), (-5, -7), (4, 2), (-3, 5), (5, 9), (4, -4), (-1, -1), (-1, -6), (7, -1), (-5, 9), (10, -5), (-2, 3), (-2, -7), (-7, 5), (-2, -9), (-9, -9), (-9, -5), (-1, -9), (-8, -6), (6, 1), (-5, 10), (9, 9), (-1, 8), (6, 0), (2, -9), (0, -2), (5, 1), (-1, 10), (-2, 9), (-4, -2), (6, -3), (-9, 5), (2, 3), (9, -8), (-9, 1), (4, 10), (-6, -4), (8, -7), (5, 5), (9, 5), (-6, 1), (3, 0), (-2, 7), (-6, -2), (3, 9), (7, 0), (-7, 4), (-2, 1), (1, -3), (-4, 2), (5, -1), (6, 4), (6, -7), (10, -3), (-6, -6), (-1, 6), (5, 0), (3, 8), (-3, 4), (-10, -8), (3, 1), (4, 9), (-5, -10), (-1, 4), (2, -6), (-8, -5), (9, -1), (-2, 6), (1, 8), (4, 5), (3, -6), (9, 0), (-10, -2), (-8, 6), (-5, -1), (-2, -1), (-1, -7), (-9, -3), (-3, -6), (-3, -4), (-6, 9), (-5, -2), (8, 4), (-5, 5), (7, -4), (4, 4), (6, -9), (4, -7), (9, -6), (6, 3), (-9, -6), (7, 5), (-10, -7), (10, -9), (-4, 1), (-4, -4), (-6, 6), (-2, -10), (-10, 1), (8, 1), (6, 7), (1, 7), (4, 7), (3, -5), (-10, 5), (1, -4), (-3, -2), (2, -1), (10, -2), (-4, -8), (1, 6), (5, -4), (-10, -4), (8, -8), (7, 9), (-10, 9), (-7, -8), (1, -8), (4, -1), (1, -9), (0, 0), (-9, -2), (-6, 7), (-5, 2), (6, 10), (9, 7), (3, -8), (2, -4), (-3, 6), (9, -5), (9, 3), (-9, -4), (-6, -9), (-1, 1), (3, 10), (7, -10), (-2, -3), (0, -5), (6, -4), (-10, 0), (10, -10), (9, -4), (1, -5), (-6, -5), (-10, -9), (9, -3), (10, 10), (0, 10), (4, 6), (8, 7), (-10, 3), (8, -1), (-7, 8), (-4, 3), (1, 0), (4, 3), (5, -7), (-7, -7), (3, 3), (-7, 0), (-1, 2), (-7, 1), (4, -2), (-6, 2), (8, 3), (-7, -10), (-7, -2), (-3, 10), (1, -6), (-1, -5), (-5, 3), (0, -4), (-6, -10), (7, 8), (-5, 8), (-5, -4), (-8, -8), (2, 0), (-9, 6), (-1, 5), (-6, -8), (4, 1), (2, 9), (8, 9), (10, 7), (1, -2), (0, -3), (-4, 0), (4, -8), (-2, -2), (3, -9), (8, -10), (8, 6), (-7, 6), (5, 2), (9, 6), (7, -7), (8, 0), (-7, -4), (3, -10), (-3, 7), (-1, 0), (3, -4), (10, -7), (5, -6), (10, 5), (-9, 2), (7, 1), (-6, 4), (1, -1), (-10, 4), (-8, 7), (-7, -5), (-6, 5), (-10, 8), (-2, 4), (-8, 8), (-8, 3), (-3, -10), (0, -7), (-3, 2), (8, -2), (4, -5), (6, 5), (4, -3), (-4, 5), (8, 2), (5, 6), (-5, 1), (2, -3), (1, -7), (-10, -5), (3, 7), (1, -10), (-9, 3), (-3, -1), (10, 9), (5, -10), (-7, 10), (7, -5), (0, 4), (9, -7), (8, -5), (9, 10), (-10, -6), (0, 5), (-4, 6), (-4, 4), (9, -2), (-6, -1), (3, -3), (0, 6), (9, 2), (7, 3), (3, 6), (9, 4), (10, -6), (-9, 8), (10, 2), (-3, -3), (3, 5), (-7, 3), (7, -2), (2, 10), (-10, 6), (-5, 0), (-4, -1), (-6, 3), (1, 5), (1, 9), (5, -2), (5, 7), (-2, 2), (-3, 3), (-3, 1), (-8, -1), (8, -4), (-5, 6), (2, 5), (-8, -7), (7, 2), (5, -8), (-8, 9), (7, -8), (8, -9), (-8, -2), (-2, -6), (8, 8), (2, -10), (-5, -9), (5, -3), (-5, -3), (-2, -5), (8, 5), (2, -5), (0, 9), (-7, -3), (-7, 9), (-9, 7), (-4, 8), (-4, -6), (6, 8), (-3, 0), (10, -1), (-4, -5), (-6, 10), (-4, 10), (2, -2), (-2, -4), (-6, -7), (4, 8), (7, 7), (-3, -9), (-2, 10), (4, -6), (-8, 5), (-9, 0), (1, 2), (-5, 4), (-8, 2), (-3, -5), (0, 1), (-3, 8), (-10, -10), (7, -3), (-10, -1), (-5, -6), (9, 1), (-7, 2), (5, 4), (7, -9), (-9, -8), (-9, 4), (4, 0), (9, -9), (10, 3), (1, 10), (-2, 8), (10, 8), (-4, 9), (-1, 9), (4, -9), (3, -2), (-4, -7), (-6, 0), (-8, 0), (3, -7), (-1, 7), (-7, -9), (7, 4), (-4, -3), (2, 1), (-7, -1), (-2, 5), (10, 0), (-3, -7), (-10, 7), (-10, 10), (-10, -3), (2, -8), (2, 4), (6, -10)}Take(listS_{1}, 6, 6) → listF_{1}RandomElement(listSF) → scalfactSequence(Sequence[((3 * i_{3}), (3 * j_{3})), i_{3}, -4, 4], j_{3}, -4, 4) → listT_{3}Flatten(listT_{3}) → listR_3Shuffle(listR_3) → listS_3, {(9, 3), (-3, 12), (3, -3), (-12, -12), (-12, -3), (-9, 12), (-6, -9), (-9, -3), (-3, -9), (0, 3), (-3, -6), (12, 6), (-12, 0), (-3, -3), (6, 9), (-3, 3), (6, -12), (3, -9), (-9, 6), (12, 0), (-12, 9), (0, 6), (0, 0), (12, 3), (0, -9), (9, 6), (-9, -6), (-3, -12), (6, -3), (12, -3), (-12, -9), (-3, 0), (6, -6), (6, 12), (-12, 12), (9, -9), (-9, -9), (0, 12), (0, -12), (9, -6), (3, 6), (-6, 12), (3, 12), (12, 9), (-9, 3), (3, 9), (0, 9), (-6, -3), (-9, 9), (0, -3), (9, -3), (9, 9), (-6, 6), (-9, 0), (12, 12), (-3, 9), (3, -6), (9, -12), (-6, 0), (3, 3), (-12, -6), (6, 6), (9, 0), (-12, 3), (-6, -6), (3, -12), (-12, 6), (6, 3), (-6, 3), (6, -9), (-9, -12), (12, -6), (12, -12), (3, 0), (6, 0), (-6, -12), (-3, 6), (12, -9), (9, 12), (0, -6), (-6, 9)}Take(listS_3, 6, 6) → listF_3Sequence(Sequence[((4 * i_{4}), (4 * j_{4})), i_{4}, -3, 3], j_{4}, -3, 3) → listT_{4}Flatten(listT_{4}) → listR_4Shuffle(listR_4) → listS_4, {(-12, -12), (12, 0), (4, 12), (0, 0), (-12, 8), (0, -12), (4, -4), (-8, -8), (-4, 12), (-12, 12), (0, 4), (4, -12), (12, -8), (-4, -12), (8, -8), (8, 8), (12, 12), (4, 8), (4, -8), (-8, 0), (12, -12), (-12, -4), (-8, -12), (0, 12), (8, 4), (-4, 8), (12, 4), (8, 12), (-4, -8), (-4, -4), (8, 0), (-4, 0), (-12, 4), (0, -4), (4, 0), (8, -12), (-12, -8), (4, 4), (12, -4), (-8, 8), (12, 8), (0, 8), (0, -8), (-12, 0), (-4, 4), (-8, 4), (-8, -4), (8, -4), (-8, 12)}Take(listS_4, 6, 6) → listF_4Sequence(Sequence[((5 * i_{5}), (5 * j_{5})), i_{5}, -2, 2], j_{5}, -2, 2) → listT_{5}Flatten(listT_{5}) → listR_5Shuffle(listR_5) → listS_5, {(-10, 0), (0, 0), (5, 0), (-10, -5), (-5, -5), (-5, 0), (5, 5), (-5, 5), (-5, -10), (10, 0), (0, 5), (0, -5), (5, -5), (-10, -10), (0, 10), (10, 10), (10, -10), (0, -10), (-10, 10), (10, -5), (5, 10), (5, -10), (-10, 5), (10, 5), (-5, 10)}Take(listS_5, 6, 6) → listF_5Take(listS_5, 5, 5) → listE_5Take(listS_4, 5, 5) → listE_4Take(listS_3, 5, 5) → listE_3Take(listS_{1}, 5, 5) → listE_{1}Take(listS_2, 5, 5) → listE_2Take(listS_2, 4, 4) → listD_2Take(listS_{1}, 4, 4) → listD_{1}Take(listS_3, 4, 4) → listD_3Take(listS_4, 4, 4) → listD_4Take(listS_5, 4, 4) → listD_5Take(listS_5, 1, 1) → listC_5Take(listS_4, 3, 3) → listC_4Take(listS_3, 3, 3) → listC_3Take(listS_{1}, 3, 3) → listC_{1}Take(listS_2, 3, 3) → listC_2Take(listS_2, 2, 2) → listB_2Take(listS_{1}, 2, 2) → listB_{1}Take(listS_3, 2, 2) → listB_3Take(listS_4, 2, 2) → listB_4Take(listS_5, 1, 1) → listB_5Take(listS_5, 1, 1) → listA_5Take(listS_4, 1, 1) → listA_4Take(listS_3, 1, 1) → listA_3Take(listS_{1}, 1, 1) → listA_{1}Take(listS_2, 1, 1) → listA_2If(scalfact ≟ 1 / 5, Point[listA_5], If[scalfact ≟ 1 / 4, Point[listA_4], If[scalfact ≟ 1 / 3, Point[listA_3], If[scalfact ≟ 1 / 2, Point[listA_2], Point[listA_{1}]]]]) → AIf(scalfact ≟ 1 / 5, Point[listB_5], If[scalfact ≟ 1 / 4, Point[listB_4], If[scalfact ≟ 1 / 3, Point[listB_3], If[scalfact ≟ 1 / 2, Point[listB_2], Point[listB_{1}]]]]) → BSegment(A, B) → abIf(scalfact ≟ 1 / 5, Point[listC_5], If[scalfact ≟ 1 / 4, Point[listC_4], If[scalfact ≟ 1 / 3, Point[listC_3], If[scalfact ≟ 1 / 2, Point[listC_2], Point[listC_{1}]]]]) → CSegment(B, C) → bcSegment(C, A) → caSegment(A', B') → a'b'Segment(B', C') → b'c'Segment(C', A') → c'a'If(scalfact ≟ 1 / 5, Point[listD_5], If[scalfact ≟ 1 / 4, Point[listD_4], If[scalfact ≟ 1 / 3, Point[listD_3], If[scalfact ≟ 1 / 2, Point[listD_2], Point[listD_{1}]]]]) → DSegment(C, D) → cdSegment(D, A) → daIf(scalfact ≟ 1 / 5, Point[listE_5], If[scalfact ≟ 1 / 4, Point[listE_4], If[scalfact ≟ 1 / 3, Point[listE_3], If[scalfact ≟ 1 / 2, Point[listE_2], Point[listE_{1}]]]]) → ESegment(D, E) → deSegment(E, A) → eaIf(scalfact ≟ 1 / 5, Point[listF_5], If[scalfact ≟ 1 / 4, Point[listF_4], If[scalfact ≟ 1 / 3, Point[listF_3], If[scalfact ≟ 1 / 2, Point[listF_2], Point[listF_{1}]]]]) → FSegment(E, F) → efSegment(F, A) → faSegment(C', D') → c'd'Segment(D', E') → d'e'Segment(E', F') → e'f'Segment(F', A') → f'a'Segment(E', A') → e'a'Segment(D', A') → d'a'RandomElement({"Awesome!", "Great Job!", " Correct!"}) → praiseIf(scalfact ≟ "j", "x", If[scalfact ≟ "k", "y", If[scalfact ≟ "l", "x - axis and y"]]) → axis
AI Drawing Prompt Reference
Draw a dilation practice diagram centered at the origin. First, randomly choose a scale factor from 1/5, 1/4, 1/3, 1/2, or 1. Based on the chosen factor, select a set of grid points from one of five pre-generated grids (e.g., factor 1/5 uses a grid with spacing 5, factor 1 uses spacing 1). From the selected point set, take several points in order to form the vertices of a triangle, and connect them with line segments. Show the origin as the center of dilation, and display the scale factor. The diagram illustrates the similarity between the original and dilated triangles, with all points on a coordinate grid for easy observation of coordinate changes.
The prompt above was compiled from the original drawing commands and is for reference only.