正弦与余弦函数的图像变换
几何画板及绘图内容加载中,请稍等……
本范例演示了正弦与余弦函数在弧度制下的图像变换。核心数学概念包括函数变换、周期性、相位移等。通过调整参数,可以观察到函数图像的变化规律。使用了GeoGebra中的Shuffle、Element、Sort等命令进行动态变换。适合高中数学教学和学习。
GeoGebra 命令及参数
Shuffle(Sequence[i, i, 0.5, 4, 0.5]) → aValueOptions, {1, 3.5, 3, 2, 4, 1.5, 2.5, 0.5}Shuffle({3, 3 / 2, 3 / 4}) → bValueOptions, {3, 0.75, 1.5}Element(bValueOptions, 1) → bValElement({1 / 2, 1 / 3, 3 / 4, -3 / 4, -1 / 2, -1 / 3}, Random[1, 6]) → hValueSort(RemoveUndefined[Zip[If[A ≤ (4 * π) - period ∧ A ≥ (-2 * π), A], A, Sequence[(hValue * π) + ((i * 2) * π / abs(bVal)), i, -10, 10]]]) → validStartingPositionsIf(Defined[IndexOf[minUserXVal, validStartingPositions]], minUserXVal, (hValue * π)) → startingXValIf(isSinFunc, sin(x), cos(x)) → parentFuncLaTeX(("y=" * parentFunc)) → lblParentUnicodeToLetter(10003) → cmarkUnicodeToLetter(10007) → xmarkIf(isSinFunc, (aVal * sin((bVal * (x - (hValue * π))))) + kValue, (aVal * cos((bVal * (x - (hValue * π))))) + kValue) → fTranslatedSequence(startingXVal + (i * quarterPeriod), i, 0, 4) → correctXvalsZip((A, fTranslated(A)), A, correctXvals) → correctPointsFlatten(Zip[Sequence[(A, j), j, -5, 5, 0.5], A, validStartingPositions]) → gridSpaceExtraNumToFracNoPhantom(bVal) → bValFmtIf(bVal ≟ 1, "", If[bVal ≟ -1, "-", bValFmt]) → bValFmtNoOnesNumToFracNoPhantom(aVal) → aValFmtIf(aVal ≟ 1, "", If[aVal ≟ -1, "-", aValFmt]) → aValFmtNoOnesNumToFracNoPhantom(kValue) → kValFmtSort(userPtLst) → userPtsSortedIf(hValue < 0, "left", "right") → shiftDirectionPolygon({(left, bottom), (left, top), (right, top), (right, bottom)}) → viewboxFlatten(Sequence[Sequence[(i, j), i, (-2 * π), (4 * π), π / 12], j, -6, 6, 0.5]) → gridSpaceLaTeX((((((((((("\text{\(y=" * aValFmtNoOnes) * If[isSinFunc, "\sin", "\cos"]) * "(") * bValFmtNoOnes) * "(x") * If[hValue < 0, "+", "-"]) * FractionText[abs(hValue)]) * "\pi ))") * If[kValue < 0, kValFmt, ("+" * kValFmt)]) * "\)}")) → lblFxLaTeX(((("phase shift is \(" * FractionText[abs(hValue)]) * "\pi\) to the ") * shiftDirection)) → fbPhaseShiftPoint(Union[gridSpace, {Element[homeBase, 1]}]) → B2Point(Union[gridSpace, {Element[homeBase, 3]}]) → B4Point(Union[gridSpace, {Element[homeBase, 4]}]) → B5Point(Union[gridSpace, {Element[homeBase, 5]}]) → B6Point(Union[gridSpace, {Element[homeBase, 2]}]) → B3If(kValue < 0, "down", "up") → hShiftDirectionIf(kValue > 0, (0, kValue), (0, kValue + 0.75)) → axisLblPtLaTeX((("\text{\(y=" * kValFmt) * "\)}")) → lblAxisLaTeX((((("\text{\textbf{Question: }" * QUESTION) * "\\\textbf{Instructions: }") * INSTRUCTIONS) * "}")) → allInstrucSequence((i, bottom), i, (-2 * π), (4 * π), π / 12) → vAnchorsSequence((right, i), i, -6, 6, 0.25) → hAnchorsPoint(vAnchors) → vGuide1Point(vAnchors) → vGuide2Sequence(((4 * π) + 0.2, i), i, 5, 3.5, -1.5) → legendAnchorsPoint(hAnchors) → hGuide1Point(hAnchors) → hGuide2Point(hAnchors) → hGuide3Segment(Element[legendAnchors, 1], Element[legendAnchors, 1] + (1, 0)) → legend1Segment(Element[legendAnchors, 2], Element[legendAnchors, 2] + (1, 0)) → legend2Sequence((i * π), i, -2, 4, 1 / 12) → xValsSequence(If[i ≟ 0, "0", If[i ≟ 1, "\pi", If[i ≟ -1, "-\pi", (FracText[i] * "\pi")]]], i, -2, 4, 1 / 12) → activeXTxtLaTeX(If[aVal < 0, "Since \(a\lt0\), there is a reflection in the \(x\)-axis.", " "]) → fbReflectionXSequence(Segment[(i, bottom), (i, top)], i, (-2 * π), (4 * π), π / 4) → vGridLaTeX((((((((((((("\text{From the formula \(" * lblFx) * "\), ") * fbAmplitude) * ", \\") * fbPeriod) * ", ") * fbPhaseShift) * ", and the vertical\\displacement is ") * fbVertical) * ". ") * fbReflectionX) * "}")) → fbComplete