绝对值方程的根

绝对值方程的根
几何画板及绘图内容加载中,请稍等……
2019-03-12 04:23
①本范例演示了绝对值方程的根的几何表示与求解过程;②涉及的核心数学概念包括绝对值函数、方程求解、几何作图;③作图要点——从下方『构造摘要』提炼用到了 Ray(射线)、Slope(斜率)、Mirror(镜像)、Intersect(相交)、Segment(线段)、Point(点)、Line(直线)、RemoveUndefined(移除未定义对象)、Element(元素)、If(条件)、Polygon(多边形)、Unique(唯一)、LaTeX(公式显示)等 GeoGebra 命令/对象;④适合高中数学学习,用于理解绝对值方程的解法及其几何意义。

GeoGebra 命令及参数

  1. Ray(C, C') → RayC'
  2. Slope(RayC') → minSlope
  3. Mirror(C', x = x(C)) → C''
  4. Ray(C, C'') → RayC''
  5. Intersect(RayC'', Line[topRight, yAxis]) → maxRight
  6. Slope(RayC'') → maxSlope
  7. Segment((vbRight, vbBottom), (vbRight, vbTop)) → vSliderRight
  8. Point(vSliderRight) → B
  9. Intersect(RayC', Line[bottomLeft, yAxis]) → maxLeft
  10. Segment((vbLeft, vbBottom), (vbLeft, vbTop)) → vSliderLeft
  11. Point(vSliderLeft) → A
  12. Line(B, A) → LineA
  13. RemoveUndefined(Union[{Intersect[LineA, RayC']}, {Intersect[LineA, RayC'']}]) → IntersectionPointsA
  14. Element(IntersectionPointsA, 1) → firstIntPt
  15. If(xInterceptVal > 0, Line[B, Line[C, C']], Line[A, Line[C, C'']]) → LineB
  16. RemoveUndefined(Union[{Intersect[LineB, RayC']}, {Intersect[LineB, RayC'']}]) → IntersectionPointsB
  17. Polygon({(vbRight, vbTop), (vbRight, vbBottom), (vbLeft, vbBottom), (vbLeft, vbTop)}) → viewbox
  18. RemoveUndefined(Zip[If[IsInRegion[A, viewbox], A], A, IntersectionPointsB]) → IntPointsBInViewbox
  19. If(fixedSlope, Slope[LineB] ≟ maxSlope ∧ Distance[Element[IntersectionPointsB, 1], C] < pointTolerance, Distance[B, maxRight] < pointTolerance ∧ abs(Slope[LineA] - maxSlope) < slopeTolerance) → infiniteSolutionsC''
  20. If(fixedSlope, Distance[Element[IntersectionPointsB, 1], C] < pointTolerance ∧ Slope[LineB] ≟ minSlope, Distance[maxLeft, A] < pointTolerance ∧ abs(Slope[LineA] - minSlope) < slopeTolerance) → infiniteSolutionsC'
  21. Unique(Zip[If[Distance[A, firstIntPt] < pointTolerance, firstIntPt, A], A, IntersectionPointsA]) → IntPtsWithToleranceA
  22. RemoveUndefined(Zip[If[IsInRegion[A, viewbox], A], A, IntPtsWithToleranceA]) → IntPointsInViewbox
  23. LaTeX("y=\left\vert ax+b \right\vert") → lblF
  24. If(fixedSlope, If[Defined[IntersectionPointsB], Length[IntersectionPointsB], 0], If[Defined[IntPtsWithToleranceA], Length[IntPtsWithToleranceA], 0]) → numIntersectionPoints
  25. LaTeX("y=px+q") → lblG
  26. Intersect(If[fixedSlope, LineB, LineA], x = 3) → Lblpt
  27. LaTeX("\text{\textbf{Instructions: }Move points \(A\) and \(B\) up and down to change \(y=px+q\).\\Click `Lock slope' to match the slope of \(px+q\) with the slope of one branch of \(\left\vert ax+b\right\vert\). \\Click `Try Another' to change \(\left\vert ax+b \right\vert\).}") → SpecInstruc
  28. LaTeX("\text{\textbf{Note: } The number of roots of \(\left\vert ax+b\right\vert = px+q\) is equal to\\the number of intersection points of \(y=\left\vert ax + b \right\vert \) and \(y=px + q\).}") → txtInfo
  29. Ray(C, C'') → RayC''Infinite
  30. LaTeX(If[nonVisiblePoints, "Note: one or more of the intersection \\points is not visible in the viewing window.", ""]) → fbNotVisible
  31. Ray(C, C') → RayC'Infinite
  32. LaTeX((((("\text{There " * If[infiniteSolutions, "are an infinite number \\of intersection points.", If[numIntersectionPoints ≟ 0, "are NO intersection points.", If[numIntersectionPoints ≟ 1, "is one intersection point.", "are two intersection points."]]]) * "\\") * fbNotVisible) * "}")) → txtNumIntersectionPts
  33. LaTeX("\text{\textbf{Question: }How many roots can equations of the form \(\left\vert ax+b \right\vert = px+q\) have?}") → MainInstruc
  34. Segment(Element[legendAnchors, 2], Element[legendAnchors, 2] + (3, 0)) → lineLegend
  35. Segment(Element[legendAnchors, 1], Element[legendAnchors, 1] + (3, 0)) → fxLegend