Graph Transformations of Sine and Cosine Functions (Radians)
Loading the math board and drawing, please wait…
This example demonstrates the graph transformations of sine and cosine functions in radians. Key mathematical concepts include function transformations, periodicity, and phase shift. By adjusting parameters, observe the changes in the function graphs. GeoGebra commands such as Shuffle, Element, and Sort are used for dynamic transformations. Suitable for high school mathematics education and learning.
GeoGebra Commands & Parameters
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