Switching between y=kx+d and its graph using slope triangles
Loading the math board and drawing, please wait…
In collections
Homogen lineare Funktionen
This GeoGebra lesson demonstrates how to move back and forth between a linear function’s equation and its graph. Students use a “slope triangle” to identify the parameters k (slope) and d (intercept), construct the corresponding straight line, and then validate whether the chosen function matches the displayed graph. Key math topics include linear functions (one-variable), the geometric meaning of
GeoGebra Commands & Parameters
Join({{1}, Shuffle[2…numberOfQuestions]}) → randomQuestionsElement(randomQuestions, Mod[questionCount - 1, Length[randomQuestions]] + 1) → randomQuestionSequence(Origin + ((minX / stepX * disX), 0) + (k * (disX, 0)), k, 0, maxX / stepX - minX / stepX) → PointsXAxisSequence(Origin + (0, (minY / stepY * disY)) + (k * (0, disY)), k, 0, maxY / stepY - minY / stepY) → PointsYAxisSequence(Sequence[(x(PointsXAxis(k)), y(PointsYAxis(m))), k, 1, Length[PointsXAxis]], m, 1, Length[PointsYAxis]) → AllPointsOnGridPoint(Remove[Flatten[AllPointsOnGrid], {Origin}]) → PosPLine(Origin, PosP) → FuncLineSlope(FuncLine) → SteigungLineTextfield(input) → inputBoxJoin({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, 0, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, 0, RasterMaxY / RasterStepXY]}) → RasterStreckenJoin({Sequence[Text[UnicodeToLetter[65 + k], Midpoint[Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY)), Corner[4] + (RasterPixMat * (((k + 1) * RasterStepXY), RasterMaxY))], false, true, 0, -1], k, 0, RasterMaxX / RasterStepXY - 1], Sequence[Text[("" * k), Midpoint[Corner[4] + (RasterPixMat * (RasterMaxX, ((k - 1) * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], false, true, 1, 0], k, 1, RasterMaxY / RasterStepXY]}) → RasterBeschriftungSequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkteSegment(Origin + ((minX / stepX * disX) - edgeAxisX, 0), Origin + ((maxX / stepX * disX) + edgeAxisX, 0)) → segAxisXSegment(Origin + (0, (minY / stepY * disY) - edgeAxisY), Origin + (0, (maxY / stepY * disY) + edgeAxisY)) → segAxisYSequence(Segment[PointsXAxis(k) + (0, (-disSeg)), PointsXAxis(k) + (0, disSeg)], k, 1, Length[PointsXAxis]) → segXAxisSequence(Segment[PointsYAxis(k) + ((-disSeg), 0), PointsYAxis(k) + (disSeg, 0)], k, 1, Length[PointsYAxis]) → segYAxisSequence(m, m, minX, maxX, stepX) → numbersXAxisSequence(Text[((("\textsf{\footnotesize{\(" * If[numbersXAxis(k) ≥ 0, "\phantom{\(-\)}", ""]) * If[Element[numbersXAxis, k] ≟ 0, "", ("" * Element[numbersXAxis, k])]) * "\)}}"), PointsXAxis(k) + (-0.12, (-disSeg)), false, true, 0, -1], k, 1, (maxX - minX) / stepX + 1) → CapXSequence(m, m, minY, maxY, stepY) → numbersYAxisSequence(Text[((("\textsf{\footnotesize{\(" * If[numbersYAxis(k) ≥ 0, "\phantom{\(-\)}", ""]) * If[Element[numbersYAxis, k] ≟ 0, "", ("" * Element[numbersYAxis, k])]) * "\)}}"), PointsYAxis(k) + ((-disSeg) + 0.05, 0), false, true, -1, 0], k, 1, (maxY - minY) / stepY + 1) → CapYElement({Polygon[(x(PointsXAxis(1)), y(PointsYAxis(1))) + ((-edgeAxisX) - 0.05, (-edgeAxisY) - 0.05), (x(PointsXAxis(Length[PointsXAxis])), y(PointsYAxis(1))) + (edgeAxisX + 0.05, (-edgeAxisY) - 0.05), (x(PointsXAxis(Length[PointsXAxis])), y(PointsYAxis(Length[PointsYAxis]))) + (edgeAxisX + 0.05, edgeAxisY + 0.05), (x(PointsXAxis(1)), y(PointsYAxis(Length[PointsYAxis]))) + ((-edgeAxisX) - 0.05, edgeAxisY + 0.05)]}, 1) → polyAxisRotate(Segment[ArrowCenter + (ArrowDistance, 0), ArrowCenter + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((1 - 1) * (360°) / ArrowNumber), ArrowCenter) → arrow1Rotate(Segment[ArrowCenter + (ArrowDistance, 0), ArrowCenter + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((2 - 1) * (360°) / ArrowNumber), ArrowCenter) → arrow2Rotate(Segment[ArrowCenter + (ArrowDistance, 0), ArrowCenter + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((3 - 1) * (360°) / ArrowNumber), ArrowCenter) → arrow3Rotate(Segment[ArrowCenter + (ArrowDistance, 0), ArrowCenter + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((4 - 1) * (360°) / ArrowNumber), ArrowCenter) → arrow4Numerator(SteigungLine) → numDenominator(SteigungLine) → denomPolyLine(Vertex[hintSteigungsdreieck(1), 1], Vertex[hintSteigungsdreieck(1), 2], Vertex[hintSteigungsdreieck(1), 3]) → segSDIntersect(FuncLine, polyAxis) → IP1, IP2Text("\textsf{\bold{\textcolor{db6114}{f}}}", IP2 - (0.25 * UnitOrthogonalVector[FuncLine]), false, true, 0, 0) → CapF