Order of Transformations Demo

Order of Transformations Demo
Loading the math board and drawing, please wait…
2019-03-06 00:27
This example demonstrates the impact of applying transformations (like moves, stretches) in different sequences on geometric figures in GeoGebra. It involves core math concepts such as function transformations, coordinate geometry, optimization problems, and quadratic functions. Key GeoGebra commands and objects used include If, FractionText, LaTeX, Sequence, Element, UnicodeToLetter, Corner, IndexOf, Defined, TableText, Polygon, Shuffle, and objects like moveUp, moveDown, stepsChosen, correctOrder, etc. It is suitable for high school and above students to understand the effects of transformation order on graph properties and function optimization.

GeoGebra Commands & Parameters

  1. If(Random[0, 1] ≟ 1, (Random[1, 3] * 2) + 1, 1 / ((Random[1, 3] * 2) + 1)) → bVal
  2. FractionText(abs(bVal)) → bValDisp
  3. FractionText(abs(aVal)) → aValDisp
  4. LaTeX(case4) → case4Disp
  5. LaTeX(case3) → case3Disp
  6. LaTeX(case2) → case2Disp
  7. LaTeX(case1) → case1Disp
  8. Sequence((24, i), i, 22, 0, -2.75) → boxAnchorRight
  9. Element(B23:B28, caseIndx) → vStretchaVal
  10. Sequence((0, i), i, 22, 0, -2.75) → boxAnchorLeft
  11. Sequence({Element[boxAnchorLeft, i], Element[boxAnchorRight, i], Element[boxAnchorRight, i + 1], Element[boxAnchorLeft, i + 1]}, i, 1, 4) → boxAnchors
  12. Sequence(Polygon[Element[boxAnchors, i]], i, 1, 4) → boxes
  13. UnicodeToLetter(10007) → xmark
  14. UnicodeToLetter(10003) → cmark
  15. Corner(B10, 1) → C10
  16. Corner(B11, 1) → C11
  17. LaTeX((("\text{Vertical compression by a factor of \(" * FractionText[1 / abs(aVal)]) * "\).}")) → B12
  18. Corner(B12, 1) → C12
  19. LaTeX((("\text{Horizontal translation " * abs(cVal)) * " units right.}")) → B15
  20. Corner(B15, 1) → C15
  21. LaTeX((("\text{Horizontal translation " * abs(cVal)) * " units left.}")) → B16
  22. Corner(B16, 1) → C16
  23. Corner(B9, 1) → C9
  24. Element(boxes, 1) → box1
  25. Element(boxes, 2) → box2
  26. Element(boxes, 3) → box3
  27. Element(boxes, 4) → box4
  28. LaTeX((((("\text{Vertical translation " * abs(dVal)) * " unit") * If[abs(dVal) ≟ 1, "", "s"]) * " up.}")) → B18
  29. LaTeX((((("\text{Vertical translation " * abs(dVal)) * " unit") * If[abs(dVal) ≟ 1, "", "s"]) * " down.}")) → B17
  30. Corner(B17, 1) → C17
  31. Corner(B18, 1) → C18
  32. Element(caseFormulas, caseIndx) → fxLbl
  33. Sequence((((((("SetCoords(B" * Element[stepsChosen, i]) * ",x(Element(boxAnchorLeft,") * i) * ")),y(Element(boxAnchorLeft,") * i) * ")-.75))"), i, 1, Min[4, Length[stepsChosen]]) → cmdMoveSteps
  34. IndexOf(11, Remove[stepsChosen, {9, 10, 12, 13, 14, 15, 16}]) → F11
  35. IndexOf(9, Remove[stepsChosen, {10, 11, 12, 13, 14, 15, 16}]) → F9
  36. IndexOf(10, Remove[stepsChosen, {9, 11, 12, 15, 16}]) → F10
  37. IndexOf(12, Remove[stepsChosen, {9, 10, 11, 13, 14, 15, 16}]) → F12
  38. IndexOf(15, Reverse[Remove[stepsChosen, {9, 11, 12, 16, 17, 18}]]) → F15
  39. IndexOf(16, Reverse[Remove[stepsChosen, {9, 11, 12, 15, 17, 18}]]) → F16
  40. IndexOf(17, Reverse[Remove[stepsChosen, {13, 14, 15, 16, 18}]]) → F17
  41. IndexOf(18, Reverse[Remove[stepsChosen, {13, 14, 15, 16, 17}]]) → F18
  42. If(Defined[F9], F9 ≟ 1, true) → G9
  43. If(Defined[F10], F10 ≟ 1, true) → G10
  44. If(Defined[F11], F11 ≟ 1, true) → G11
  45. If(Defined[F12], F12 ≟ 1, true) → G12
  46. If(Defined[F15], F15 ≟ 1, true) → G15
  47. If(Defined[F16], F16 ≟ 1, true) → G16
  48. If(Defined[F17], F17 ≟ 1, true) → G17
  49. If(Defined[F18], F18 ≟ 1, true) → G18
  50. Defined(IndexOf[9, stepsChosen]) → I9
  51. Defined(IndexOf[10, stepsChosen]) → I10
  52. Defined(IndexOf[11, stepsChosen]) → I11
  53. Defined(IndexOf[12, stepsChosen]) → I12
  54. Defined(IndexOf[13, stepsChosen]) → I15
  55. Defined(IndexOf[14, stepsChosen]) → I16
  56. Defined(IndexOf[15, stepsChosen]) → I17
  57. Defined(IndexOf[16, stepsChosen]) → I18
  58. Sequence("\phantom{\dfrac{1}{1}000000000000000000000000000000000000000}", i, 1, 5) → spacers
  59. Sequence((-3, i), i, 9.5, 2.5, -2) → optionAnchors
  60. TableText({{"Step 1", "Step 2", "Step 3", "Step 4"}, spacers, markLst}, "vl") → stepLbls
  61. Polygon((-4, 0), (-4, 10), (44, 10), (44, 0)) → fbCover, fbCover_1, fbCover_2, fbCover_3, fbCover_4
  62. LaTeX(If[correctOrder, "Your solution is correct.", (((("The steps marked with " * moveUp) * " or ") * moveDown) * " are not in the correct order.")]) → fbCorrect
  63. LaTeX(If[correctOrder, "", "Click `Show a Solution' to see one correct solution."]) → fbShowSolution
  64. Shuffle(stepsCorrect) → stepsCorrectShuffled
  65. Sequence((((("SetValue(D" * Element[stepsCorrectShuffled, i]) * ",") * Element[optionAnchors, i]) * ")"), i, 1, Length[stepsCorrect]) → cmdSetHomePts
  66. LaTeX((((("\text{" * fbCorrect) * "\\") * fbShowSolution) * "}")) → fbStatement
  67. If(G10, correct, moveUp) → J10
  68. If(G9, correct, moveUp) → J9
  69. If(G11, correct, moveUp) → J11
  70. If(G12, correct, moveUp) → J12
  71. If(G15, correct, moveDown) → J15
  72. If(G16, correct, moveDown) → J16
  73. If(G17, correct, moveDown) → J17
  74. If(G18, correct, moveDown) → J18
  75. LaTeX((("\text{Horizontal compression by a factor of " * FractionText[abs(bVal)]) * ".}")) → B14
  76. LaTeX((("\text{Horizontal stretch by a factor of \(" * FractionText[1 / abs(bVal)]) * "\).}")) → B13
  77. Corner(B13, 1) → C13
  78. Corner(B14, 1) → C14
  79. IndexOf(14, Remove[stepsChosen, {9, 10, 11, 12, 13, 17, 18}]) → F14
  80. IndexOf(13, Remove[stepsChosen, {9, 10, 11, 12, 14, 17, 18}]) → F13
  81. If(Defined[F13], F13 ≟ 1, true) → G13
  82. If(Defined[F14], F14 ≟ 1, true) → G14
  83. Defined(IndexOf[17, stepsChosen]) → I13
  84. Defined(IndexOf[18, stepsChosen]) → I14
  85. If(G13, correct, moveUp) → J13
  86. If(G14, correct, moveUp) → J14
  87. LaTeX(If[isDone, ""]) → fbNotDone
  88. LaTeX((("\text{\textbf{Question: }A set of translations that would map \(f(x)=\vert x \vert\) onto \(h(x)=" * fxLbl) * "\) \\is listed below. Place the transformations in a correct order.}")) → MainInstruc
  89. LaTeX("\text{\textbf{Instructions: }Click on a transformation to select it. It will be placed in the list of steps in \\the order in which you select it. Click on a transformation already selected to return it to the \\list at the bottom.}") → SpecInstruc