Curve Sketching using First and Second Derivatives

Curve Sketching using First and Second Derivatives
Loading the math board and drawing, please wait…
2019-07-16 01:13
This example demonstrates how to sketch function graphs using first and second derivatives. The core math concepts involved include derivatives, function graphs, straight lines, dilation, and terms. Construction highlights: The GeoGebra commands used are Zip, Random, If, Element, UnicodeToLetter, Shuffle, Polygon, TableText, Translate, IndexOf, Sequence, Join, LaTeX; objects include xVals, axisArrows, multiplier, Afx1, Afx3, Afx2, Afpx1, caseNum, Ax1Indx, Ax1, Mf23, Mf22, Mf21, Case2Matrices, Case2Solutions, Case2Coeffs, f23, f22, f21, Case2, Ax3Indx, Ax2Indx, Ax2, Mf13, Ax3, Mf11, Mf12, Case1Matrices, Case1Solutions, Case1Coeffs, f13, f12, f11, Case1, bullet, chosenGraphs, inequality1, questionOrder, transVectors, displayOrder. Suitable for high school and above learning calculus and function graphing.

GeoGebra Commands & Parameters

  1. Zip(Rotate[{Segment[(11, 0), (10.5, 0.5)], Segment[(11, 0), (10.5, -0.5)]}, A, (0, 0)], A, {0, 90°, 180°, 270°}) → axisArrows
  2. Random(1, 6) → Ax1Indx
  3. If(caseNum ≟ 1, Element[xVals, Ax1Indx], (Random[1, 3] * (-1)^(Random[0, 1]))) → Ax1
  4. Zip(ReducedRowEchelonForm[A], A, Case2Matrices) → Case2Solutions
  5. Zip(Sequence[Element[A, i, 5], i, 1, 4], A, Case2Solutions) → Case2Coeffs
  6. Zip(If[-11 < x < 11, A(x)], A, {f21, f22, f23}) → Case2
  7. Random(Ax1Indx + 2, 8) → Ax3Indx
  8. Random(Ax1Indx + 1, Ax3Indx - 1) → Ax2Indx
  9. Element(xVals, Ax2Indx) → Ax2
  10. Element(xVals, Ax3Indx) → Ax3
  11. Zip(ReducedRowEchelonForm[A], A, Case1Matrices) → Case1Solutions
  12. Zip(Sequence[Element[A, i, 6], i, 1, 5], A, Case1Solutions) → Case1Coeffs
  13. Zip(If[-11 < x < 11, A(x)], A, {f11, f12, f13}) → Case1
  14. UnicodeToLetter(9679) → bullet
  15. If(multiplier < 1, "<", ">") → inequality1
  16. Shuffle({1, 2, 3}) → questionOrder
  17. Zip(Element[transVectors, A], A, questionOrder) → displayOrder
  18. Polygon({(-11, -11), (-11, 11), (11, 11), (11, -11)}) → graphFrame
  19. If(multiplier < 1, ">", "<") → inequality2
  20. TableText({{(((("\text{ " * bullet) * " ") * Case2Condition1) * "}"), (((("\text{" * bullet) * " ") * Case2Condition2) * "}")}, {(((("\text{" * bullet) * " ") * Case2Condition3) * "}"), (((("\text{" * bullet) * " ") * Case2Condition4) * "}")}}) → Case2Conditions
  21. TableText({{Case1Condition1, Case1Condition2}, {Case1Condition3, Case1Condition4}}) → Case1Conditions
  22. UnicodeToLetter(10007) → xmark
  23. UnicodeToLetter(10003) → cmark
  24. If(caseNum ≟ 1, Case1, Case2) → selectedFuncs
  25. Zip(Translate[C, Vector[D]], C, selectedFuncs, D, displayOrder) → allDisplayFuncs
  26. Zip(Translate[graphFrame, Vector[Element[displayOrder, A]]], A, chosenGraphs) → highlightQuestions
  27. Translate(graphFrame, Vector[Element[displayOrder, 1]]) → graph1
  28. Translate(graphFrame, Vector[Element[displayOrder, 2]]) → graph2
  29. Translate(graphFrame, Vector[Element[displayOrder, 3]]) → graph3
  30. IndexOf(1, questionOrder) → letterIndx
  31. If(caseNum ≟ 1, Case1Conditions, Case2Conditions) → questionConditions
  32. Sequence(Defined[IndexOf[i, answers]], i, 1, 3) → whichCorrect
  33. Zip(Text[A, (3, 14) + V, true, true], A, graphTitles, V, transVectors) → allTitles
  34. Join({axisArrows, {Zip[Segment[(A, -0.3), (A, 0.3)], A, {-10, -5, 5, 10}], Zip[Segment[(0.3, B), (-0.3, B)], B, {10, 5, -5, -10}], {Segment[(-11, 0), (11, 0)], Segment[(0, -11), (0, 11)]}}}) → TemplateAxis
  35. Zip(Translate[Join[{Sequence[Segment[(-11, i), (11, i)], i, -10, 10], Sequence[Segment[(i, 11), (i, -11)], i, -10, 10]}], Vector[A]], A, transVectors) → allGrids
  36. Zip(Translate[TemplateAxis, A], A, transVectors) → allAxis
  37. Zip(Zip[Text[A, B + V, true, true], A, {"-10", "-5", "5", "10", "x", "-10", "-5", "5", "10", "y"}, B, {(-12, -0.5), (-6.4, -0.5), (4.5, -0.5), (9, -0.5), (11, 1), (-4, -9.2), (-3, -4.2), (-2, 5.8), (-3, 10.8), (0, 12)}], V, transVectors) → allTxt
  38. LaTeX(If[isCorrect, txtCorrect, txtIncorrect]) → txtAnswer
  39. LaTeX((((((((("\text{" * txtAnswer) * " ") * fbConcavity) * "\\") * fbSlope) * "\\") * fbCorrectGraph) * "}")) → fbAll