Practice Game: Dilations Centered at the Origin (0,0)

Practice Game: Dilations Centered at the Origin (0,0)
Loading the math board and drawing, please wait…
2021-01-18 22:05
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

  1. Sequence(Sequence[((2 * i_{2}), (2 * j_{2})), i_{2}, -6, 6], j_{2}, -6, 6) → listT_{2}
  2. Flatten(listT_{2}) → listR_2
  3. Shuffle(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)}
  4. Take(listS_2, 6, 6) → listF_2
  5. Sequence(Sequence[(i, j), i, -10, 10], j, -10, 10) → listT_{1}
  6. Flatten(listT_{1}) → listR_{1}
  7. 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)}
  8. Take(listS_{1}, 6, 6) → listF_{1}
  9. RandomElement(listSF) → scalfact
  10. Sequence(Sequence[((3 * i_{3}), (3 * j_{3})), i_{3}, -4, 4], j_{3}, -4, 4) → listT_{3}
  11. Flatten(listT_{3}) → listR_3
  12. Shuffle(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)}
  13. Take(listS_3, 6, 6) → listF_3
  14. Sequence(Sequence[((4 * i_{4}), (4 * j_{4})), i_{4}, -3, 3], j_{4}, -3, 3) → listT_{4}
  15. Flatten(listT_{4}) → listR_4
  16. Shuffle(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)}
  17. Take(listS_4, 6, 6) → listF_4
  18. Sequence(Sequence[((5 * i_{5}), (5 * j_{5})), i_{5}, -2, 2], j_{5}, -2, 2) → listT_{5}
  19. Flatten(listT_{5}) → listR_5
  20. Shuffle(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)}
  21. Take(listS_5, 6, 6) → listF_5
  22. Take(listS_5, 5, 5) → listE_5
  23. Take(listS_4, 5, 5) → listE_4
  24. Take(listS_3, 5, 5) → listE_3
  25. Take(listS_{1}, 5, 5) → listE_{1}
  26. Take(listS_2, 5, 5) → listE_2
  27. Take(listS_2, 4, 4) → listD_2
  28. Take(listS_{1}, 4, 4) → listD_{1}
  29. Take(listS_3, 4, 4) → listD_3
  30. Take(listS_4, 4, 4) → listD_4
  31. Take(listS_5, 4, 4) → listD_5
  32. Take(listS_5, 1, 1) → listC_5
  33. Take(listS_4, 3, 3) → listC_4
  34. Take(listS_3, 3, 3) → listC_3
  35. Take(listS_{1}, 3, 3) → listC_{1}
  36. Take(listS_2, 3, 3) → listC_2
  37. Take(listS_2, 2, 2) → listB_2
  38. Take(listS_{1}, 2, 2) → listB_{1}
  39. Take(listS_3, 2, 2) → listB_3
  40. Take(listS_4, 2, 2) → listB_4
  41. Take(listS_5, 1, 1) → listB_5
  42. Take(listS_5, 1, 1) → listA_5
  43. Take(listS_4, 1, 1) → listA_4
  44. Take(listS_3, 1, 1) → listA_3
  45. Take(listS_{1}, 1, 1) → listA_{1}
  46. Take(listS_2, 1, 1) → listA_2
  47. If(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}]]]]) → A
  48. If(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}]]]]) → B
  49. Segment(A, B) → ab
  50. If(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}]]]]) → C
  51. Segment(B, C) → bc
  52. Segment(C, A) → ca
  53. Segment(A', B') → a'b'
  54. Segment(B', C') → b'c'
  55. Segment(C', A') → c'a'
  56. 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}]]]]) → D
  57. Segment(C, D) → cd
  58. Segment(D, A) → da
  59. If(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}]]]]) → E
  60. Segment(D, E) → de
  61. Segment(E, A) → ea
  62. If(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}]]]]) → F
  63. Segment(E, F) → ef
  64. Segment(F, A) → fa
  65. Segment(C', D') → c'd'
  66. Segment(D', E') → d'e'
  67. Segment(E', F') → e'f'
  68. Segment(F', A') → f'a'
  69. Segment(E', A') → e'a'
  70. Segment(D', A') → d'a'
  71. RandomElement({"Awesome!", "Great Job!", " Correct!"}) → praise
  72. If(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.