线性函数的基础构建:斜率与截距的几何意义
几何画板及绘图内容加载中,请稍等……
所属专题
Lineare Funktionen
本范例通过GeoGebra动态演示线性函数f(x)=k*x+d的图形特征,展示斜率k与截距d如何决定直线的倾斜方向和位置。核心数学概念包括线性函数的定义、斜率与截距的关系,以及直线的几何表示。作图要点包括使用Sequence命令生成点序列、Element创建文本、Textfield添加注释、Join连接线段、PolyLine绘制多边形、Translate平移对象、Segment绘制线段、If条件判断、SelectIndex选择索引等。适合中学7-8年级学生用于理解线性函数的基本性质,适用于课堂教学和自主学习。
GeoGebra 命令及参数
Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {10, 4, 5, 3, 4, 4, 2, 1, 3, 5}Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumberTextfield(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) → RasterPunktePolyLine(Vertex[boxB1(1), 2] + ((-disSelect), (-disSelect)), Vertex[boxB1(1), 3] + (disSelect, (-disSelect)), Vertex[boxB1(1), 4] + (disSelect, disSelect), Vertex[boxB1(1), 1] + ((-disSelect), disSelect), Vertex[boxB1(1), 2] + ((-disSelect), (-disSelect))) → segSelection01PolyLine(Vertex[boxB2(1), 2] + ((-disSelect), (-disSelect)), Vertex[boxB2(1), 3] + (disSelect, (-disSelect)), Vertex[boxB2(1), 4] + (disSelect, disSelect), Vertex[boxB2(1), 1] + ((-disSelect), disSelect), Vertex[boxB2(1), 2] + ((-disSelect), (-disSelect))) → segSelection02PolyLine(Vertex[boxB3(1), 2] + ((-disSelect), (-disSelect)), Vertex[boxB3(1), 3] + (disSelect, (-disSelect)), Vertex[boxB3(1), 4] + (disSelect, disSelect), Vertex[boxB3(1), 1] + ((-disSelect), disSelect), Vertex[boxB3(1), 2] + ((-disSelect), (-disSelect))) → segSelection03PolyLine(Vertex[boxB4(1), 2] + ((-disSelect), (-disSelect)), Vertex[boxB4(1), 3] + (disSelect, (-disSelect)), Vertex[boxB4(1), 4] + (disSelect, disSelect), Vertex[boxB4(1), 1] + ((-disSelect), disSelect), Vertex[boxB4(1), 2] + ((-disSelect), (-disSelect))) → segSelection04SelectedIndex(dropdown011) → index011SelectedIndex(dropdown012) → index012SelectedIndex(dropdown021) → index021SelectedIndex(dropdown022) → index022SelectedIndex(dropdown023) → index023SelectedIndex(dropdown031) → index031SelectedIndex(dropdown041) → index041SelectedIndex(dropdown042) → index042SelectedIndex(dropdown043) → index043Textfield(input041) → InputBox041SelectedIndex(dropdown032) → index032If(Task ≟ 1, correctdd011 ∧ correctdd012, Task ≟ 2, correctdd021 ∧ correctdd022 ∧ correctdd023, Task ≟ 3, correctdd031 ∧ correctdd032, Task ≟ 4, correctdd041 ∧ correctdd042 ∧ correctdd043 ∧ correct041, true) → clickableBtnNextIf(Task ≟ 4, (11, 5.3), (11.6, 6.1)) → Origin071Sequence(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(Segment[PointsXAxis(k) + (0, (-disSeg)), PointsXAxis(k) + (0, disSeg)], k, 1, Length[PointsXAxis]) → segXAxisSequence(Segment[Origin071 + (fac07 * ((minX * disX) + ((k - 1) * disX), 0)) + (fac07 * (0, (-disSeg))), Origin071 + (fac07 * ((minX * disX) + ((k - 1) * disX), 0)) + (fac07 * (0, disSeg))], k, 1, Length[PointsXAxis] - 1) → segXAxis071Translate(segXAxis071, Vector[Origin071, Origin072]) → segXAxis072Sequence(Segment[PointsYAxis(k) + ((-disSeg), 0), PointsYAxis(k) + (disSeg, 0)], k, 1, Length[PointsYAxis]) → segYAxisSequence(Segment[Origin071 + (fac07 * (0, (minY * disX) + ((k - 1) * disY))) + (fac07 * ((-disSeg), 0)), Origin071 + (fac07 * (0, (minY * disX) + ((k - 1) * disY))) + (fac07 * (disSeg, 0))], k, 1, Length[PointsXAxis] - 1) → segYAxis071Translate(segYAxis071, Vector[Origin071, Origin072]) → segYAxis072Translate(segYAxis072, Vector[Origin071, Origin072]) → segYAxis073Segment(Origin + ((minX / stepX * disX) - edgeAxisX, 0), Origin + ((maxX / stepX * disX) + edgeAxisX, 0)) → segAxisXSegment(Origin071 + (fac07 * ((minX / stepX * disX) - edgeAxisX, 0)), Origin071 + (fac07 * ((maxX / stepX * disX) + edgeAxisX, 0))) → segAxisX071Translate(segAxisX071, Vector[Origin071, Origin072]) → segAxisX072Translate(segAxisX072, Vector[Origin071, Origin072]) → segAxisX073Segment(Origin071 + (fac07 * (0, (minY / stepY * disY) - edgeAxisY)), Origin071 + (fac07 * (0, (maxY / stepY * disY) + edgeAxisY))) → segAxisY071Translate(segAxisY071, Vector[Origin071, Origin072]) → segAxisY072Translate(segAxisY072, Vector[Origin071, Origin072]) → segAxisY073Segment(Origin + (0, (minY / stepY * disY) - edgeAxisY), Origin + (0, (maxY / stepY * disY) + edgeAxisY)) → segAxisYTranslate(segXAxis072, Vector[Origin071, Origin072]) → segXAxis073Segment(PointsXAxis(5), (x(PointsXAxis(5)), y(PointsYAxis(6)))) → segXSegment(PointsYAxis(6), (x(PointsXAxis(5)), y(PointsYAxis(6)))) → segYText("\textsf{✓}", Midpoint[Vertex[boxB1(1), 2], Vertex[boxB1(1), 3]] - (0, 0.4), true, true, 0, 0) → txtChkBoxB1Text("\textsf{✓}", Midpoint[Vertex[boxB2(1), 2], Vertex[boxB2(1), 3]] - (0, 0.4), true, true, 0, 0) → txtChkBoxB2Text("\textsf{✓}", Midpoint[Vertex[boxB3(1), 2], Vertex[boxB3(1), 3]] - (0, 0.4), true, true, 0, 0) → txtChkBoxB3Text("\textsf{✓}", Midpoint[Vertex[boxB4(1), 2], Vertex[boxB4(1), 3]] - (0, 0.4), true, true, 0, 0) → txtChkBoxB4