Translating Exponential Graphs: Horizontal and Vertical Shifts

Translating Exponential Graphs: Horizontal and Vertical Shifts
Loading the math board and drawing, please wait…
2024-04-08 15:55
This GeoGebra lesson demonstrates how horizontal and vertical translations affect the graph of an exponential function, and how to determine the translated function formula from the visual shift. It focuses on the core ideas of exponential-function transformations, including how changing the input (x−h or x+h) produces horizontal shifts, and changing the output (+k) produces vertical shifts, expressed using function notation and algebraic relationships. Construction and interactivity are driven by GeoGebra commands and objects such as RandomUniform/Shuffle/Take/Element for generating parameters, Translate (with Vector) to apply and visualize shifts, Asymptote to display the exponential asymptote, Intersect/Segment/Polygon for highlighting relevant geometric features, and Textfield/SelectedIndex/Corner with onboardingTextOffset for guided user input. If-logic plus validation controls (e.g., btnValidate, showhint, showanswer) support answer checking. Suitable for grades 9–12 and for graph-to-equation transformation practice.

GeoGebra Commands & Parameters

  1. RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.3513288554133347, 0.7948306045490805, 0.630092788766771, 0.09439542691709646, 0.7852024620150003, 0.6665376341339869, 0.5699671841562188, 0.24012199373492638, 0.8637805245124694, 0.08785833468869286, 0.44153601639483575, 0.16421085649828637, 0.4308267675680974, 0.5411244254626862, 0.2880187442285113, 0.3316458516994189, 0.04573402410943486, 0.1748004821183743, 0.41277587497294005, 0.6770733013427496, 0.1260328797579236, 0.8722298317610926, 0.8152164882118385, 0.5512860631616803, 0.8255619293406712, 0.8085752184173688, 0.025846084076791377, 0.18704123234882364, 0.8465831495641459, 0.14117869808029113, 0.9732256607136217, 0.5181025683199033, 0.2261469752439717, 0.12582050522863983, 0.07247790291947201, 0.7812487764802283, 0.07622122021518243, 0.033301068216008846, 0.7140290667453745, 0.5365255278801965, 0.8934939576435216, 0.6773999707892325, 0.3125153813230163, 0.7962439209825842, 0.6883449332215922, 0.2365848131161663, 0.5192110313604574, 0.5281400501340272, 0.6532510076193698, 0.5178487856685339, 0.9669488778459061, 0.8827101085828115, 0.7888507243892445, 0.18174849538978735, 0.5443091658553205, 0.6890222824074053, 0.9210390159573988, 0.0630952115773782, 0.1758407330256809, 0.9772818689520718, 0.02479759470131719, 0.4418205881887233, 0.1772572402514549, 0.8600873222285432, 0.7899873828257541, 0.23329379584198423, 0.5889163845457557, 0.6376654451960931, 0.6910392314671455, 0.7168107131050525, 0.9074426719934164, 0.7954103513863395, 0.29637459615903033, 0.3151062173290358, 0.8840941853192839, 0.5947755991070007, 0.034472814567535676, 0.4865591850053309, 0.7994022329992151, 0.7909816178761417, 0.9717722934410394, 0.265265837552714, 0.7267275137182303, 0.6530990154870339, 0.10305266275830192, 0.7423502997862352, 0.7926790498100168, 0.40385645499896744, 0.9475907129053986, 0.5447615865701813, 0.4098328278724489, 0.20799601297957987, 0.35421746876780824, 0.5053759111353929, 0.726864624368723, 0.16916092573026423, 0.9354247863068216, 0.7404773332852942, 0.42307647877908006, 0.966150620290243, 0.854879403543547, 0.8976347101537169, 0.8583493116020401, 0.579914407017659, 0.03409829983748836, 0.4586226869382642, 0.5057945168569734, 0.8128807178573046, 0.5926234474515693, 0.07835339249537238, 0.1328045018907437, 0.7621298275170507, 0.1618056039996985, 0.2817911212384236, 0.9568182845582216, 0.6875186800341042, 0.4152656787243638, 0.2265157243437538, 0.5449200257395702, 0.5151525710074281, 0.5392484981631999, 0.8289813015331442, 0.31137950597020375, 0.04557373839783843, 0.5634184860290352, 0.477585138673989, 0.43442037540695716, 0.7246988696348894, 0.5271670551391427, 0.1854176023590368, 0.5728683519951794, 0.2938867594099253, 0.828211767374742, 0.46000721979586334, 0.40488295838699917, 0.373554957388864, 0.6591629777648523, 0.11650586541820049, 0.7447178896217643, 0.19248870867495307, 0.7238178830772269, 0.7145775674822615, 0.2593819258713156, 0.5023973580204484, 0.868213581608559, 0.04776003865013425, 0.24518807670411394, 0.13437335487794114, 0.28192931435827906, 0.3872614355573916, 0.24448099023721742, 0.9706958359684774, 0.10277509167725514, 0.6100360488611456, 0.3753232787209039, 0.7818954782708568, 0.3428372304863721, 0.7535505403609188, 0.341598767313794, 0.8651595394008118, 0.785873575895136, 0.18690840843644918, 0.17785622551946598, 0.5960052769335367, 0.4752593923350076, 0.6099436773727398, 0.5022697845575405, 0.7806875172609469, 0.03808201883392005, 0.8185258569642648, 0.1023321411067003, 0.012030139790984561, 0.8245660009491218, 0.5056362537476095, 0.021325081821110453, 0.49628427957284676, 0.3227819248471848, 0.4637817079468291, 0.4092263996805353, 0.46321442797967016, 0.5765516165770184, 0.365005470933323, 0.4295153614449439, 0.6659017968002766, 0.14960788770533714, 0.3501350760343593, 0.3033291680487885, 0.5607285294337738, 0.821402088681551, 0.04897652328428288, 0.6946003414405885, 0.5616682018294237, 0.9594735822680267, 0.9479186475808071, 0.07417039500527417, 0.8963579389251224, 0.050004201951754985, 0.7708560526471414, 0.49742780694892413, 0.9844648190293982}
  2. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  3. Shuffle(Sequence[t, t, -5, 5, 1] \ {0}) → allH, {-3, 5, 3, -1, -2, 1, 4, 2, -4, -5}
  4. Element(allH, Mod[countQuestion, Length[allH]] + 1) → numH
  5. Shuffle(Sequence[t, t, -3, 3, 1] \ {0}) → allK, {2, 1, 3, -3, -1, -2}
  6. Element(allK, Mod[countQuestion, Length[allK]] + 1) → numK
  7. Shuffle({-3, -2, 2, 3}) → allA, {3, -3, 2, -2}
  8. Shuffle(Sequence[t, t, 2, 8, 1]) → allB, {4, 6, 2, 5, 3, 8, 7}
  9. Element(allA, Mod[countQuestion, Length[allA]] + 1) → numA
  10. Element(allB, Mod[countQuestion, Length[allB]] + 1) → numB
  11. Translate(given, Vector[(numH, numK)]) → final
  12. Textfield(inputB) → InputBoxB
  13. SelectedIndex(ddMenu) → is
  14. Corner(5) → layoutAppSize
  15. onboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffset
  16. Textfield(inputA) → InputBoxA
  17. Textfield(inputC) → InputBoxC
  18. Polygon(P1, Mirror[P1, yAxis], Mirror[P1, (0, 0)], Mirror[P1, xAxis]) → peep, p1, f, g, h
  19. Segment((-10.85, 0), (10.85, 0)) → fakeX
  20. Segment((0, -10.85), (0, 10.85)) → fakeY
  21. Translate(horTrans, Vector[(0, ((aniSli - 1) * numK))]) → verTrans
  22. If(aniSli < 1, Translate[GI, Vector[((aniSli * numH), 0)]], Translate[GI, Vector[(numH, 0)]]) → GIH
  23. Translate(GIH, Vector[(0, ((aniSli - 1) * numK))]) → GIV
  24. Vector(GI, GIH) → HVect
  25. Vector(GIH, GIV) → VVect
  26. Asymptote(verTrans) → ao
  27. Vector(GI, GIV) → transVec
  28. Segment(GI, GIH) → xComp
  29. Segment(GIH, GIV) → yComp
  30. Intersect(final, If[numA < 0, y = -10, y = 11], (-2.2075187496394193, 11)) → PLG
  31. Intersect(studF, If[3 ≤ is ≤ 5 ∧ numA < 0 ∨ is ≟ 2 ∧ inputA < 0, y = -10, y = 11], (11, 11)) → PLS

AI Drawing Prompt Reference

Draw an exponential function graph and apply horizontal and vertical translations to generate a new exponential function graph. First, draw the original exponential function, then apply a horizontal shift by H units and a vertical shift by K units to get the transformed graph. Pay attention to the changes in the graph before and after the transformation, and try to determine the equation of the transformed function based on the graph.
The prompt above was compiled from the original drawing commands and is for reference only.