正弦与余弦函数的图像变换

正弦与余弦函数的图像变换
几何画板及绘图内容加载中,请稍等……
2019-08-06 06:03
本范例演示了正弦与余弦函数在弧度制下的图像变换。核心数学概念包括函数变换、周期性、相位移等。通过调整参数,可以观察到函数图像的变化规律。使用了GeoGebra中的Shuffle、Element、Sort等命令进行动态变换。适合高中数学教学和学习。

GeoGebra 命令及参数

  1. Shuffle(Sequence[i, i, 0.5, 4, 0.5]) → aValueOptions, {1, 3.5, 3, 2, 4, 1.5, 2.5, 0.5}
  2. Shuffle({3, 3 / 2, 3 / 4}) → bValueOptions, {3, 0.75, 1.5}
  3. Element(bValueOptions, 1) → bVal
  4. Element({1 / 2, 1 / 3, 3 / 4, -3 / 4, -1 / 2, -1 / 3}, Random[1, 6]) → hValue
  5. Sort(RemoveUndefined[Zip[If[A ≤ (4 * π) - period ∧ A ≥ (-2 * π), A], A, Sequence[(hValue * π) + ((i * 2) * π / abs(bVal)), i, -10, 10]]]) → validStartingPositions
  6. If(Defined[IndexOf[minUserXVal, validStartingPositions]], minUserXVal, (hValue * π)) → startingXVal
  7. If(isSinFunc, sin(x), cos(x)) → parentFunc
  8. LaTeX(("y=" * parentFunc)) → lblParent
  9. UnicodeToLetter(10003) → cmark
  10. UnicodeToLetter(10007) → xmark
  11. If(isSinFunc, (aVal * sin((bVal * (x - (hValue * π))))) + kValue, (aVal * cos((bVal * (x - (hValue * π))))) + kValue) → fTranslated
  12. Sequence(startingXVal + (i * quarterPeriod), i, 0, 4) → correctXvals
  13. Zip((A, fTranslated(A)), A, correctXvals) → correctPoints
  14. Flatten(Zip[Sequence[(A, j), j, -5, 5, 0.5], A, validStartingPositions]) → gridSpaceExtra
  15. NumToFracNoPhantom(bVal) → bValFmt
  16. If(bVal ≟ 1, "", If[bVal ≟ -1, "-", bValFmt]) → bValFmtNoOnes
  17. NumToFracNoPhantom(aVal) → aValFmt
  18. If(aVal ≟ 1, "", If[aVal ≟ -1, "-", aValFmt]) → aValFmtNoOnes
  19. NumToFracNoPhantom(kValue) → kValFmt
  20. Sort(userPtLst) → userPtsSorted
  21. If(hValue < 0, "left", "right") → shiftDirection
  22. Polygon({(left, bottom), (left, top), (right, top), (right, bottom)}) → viewbox
  23. Flatten(Sequence[Sequence[(i, j), i, (-2 * π), (4 * π), π / 12], j, -6, 6, 0.5]) → gridSpace
  24. LaTeX((((((((((("\text{\(y=" * aValFmtNoOnes) * If[isSinFunc, "\sin", "\cos"]) * "(") * bValFmtNoOnes) * "(x") * If[hValue < 0, "+", "-"]) * FractionText[abs(hValue)]) * "\pi ))") * If[kValue < 0, kValFmt, ("+" * kValFmt)]) * "\)}")) → lblFx
  25. LaTeX(((("phase shift is \(" * FractionText[abs(hValue)]) * "\pi\) to the ") * shiftDirection)) → fbPhaseShift
  26. Point(Union[gridSpace, {Element[homeBase, 1]}]) → B2
  27. Point(Union[gridSpace, {Element[homeBase, 3]}]) → B4
  28. Point(Union[gridSpace, {Element[homeBase, 4]}]) → B5
  29. Point(Union[gridSpace, {Element[homeBase, 5]}]) → B6
  30. Point(Union[gridSpace, {Element[homeBase, 2]}]) → B3
  31. If(kValue < 0, "down", "up") → hShiftDirection
  32. If(kValue > 0, (0, kValue), (0, kValue + 0.75)) → axisLblPt
  33. LaTeX((("\text{\(y=" * kValFmt) * "\)}")) → lblAxis
  34. LaTeX((((("\text{\textbf{Question: }" * QUESTION) * "\\\textbf{Instructions: }") * INSTRUCTIONS) * "}")) → allInstruc
  35. Sequence((i, bottom), i, (-2 * π), (4 * π), π / 12) → vAnchors
  36. Sequence((right, i), i, -6, 6, 0.25) → hAnchors
  37. Point(vAnchors) → vGuide1
  38. Point(vAnchors) → vGuide2
  39. Sequence(((4 * π) + 0.2, i), i, 5, 3.5, -1.5) → legendAnchors
  40. Point(hAnchors) → hGuide1
  41. Point(hAnchors) → hGuide2
  42. Point(hAnchors) → hGuide3
  43. Segment(Element[legendAnchors, 1], Element[legendAnchors, 1] + (1, 0)) → legend1
  44. Segment(Element[legendAnchors, 2], Element[legendAnchors, 2] + (1, 0)) → legend2
  45. Sequence((i * π), i, -2, 4, 1 / 12) → xVals
  46. Sequence(If[i ≟ 0, "0", If[i ≟ 1, "\pi", If[i ≟ -1, "-\pi", (FracText[i] * "\pi")]]], i, -2, 4, 1 / 12) → activeXTxt
  47. LaTeX(If[aVal < 0, "Since \(a\lt0\), there is a reflection in the \(x\)-axis.", " "]) → fbReflectionX
  48. Sequence(Segment[(i, bottom), (i, top)], i, (-2 * π), (4 * π), π / 4) → vGrid
  49. LaTeX((((((((((((("\text{From the formula \(" * lblFx) * "\), ") * fbAmplitude) * ", \\") * fbPeriod) * ", ") * fbPhaseShift) * ", and the vertical\\displacement is ") * fbVertical) * ". ") * fbReflectionX) * "}")) → fbComplete