二元函数可视化

二元函数可视化
几何画板及绘图内容加载中,请稍等……
2017-01-06 19:42
该范例演示了二元函数的可视化。涉及的核心数学概念包括函数、导数和几何构造。使用了Polygon、ImplicitCurve、IntersectPath等GeoGebra命令。适合高中及以上学生或教师使用。

GeoGebra 命令及参数

  1. Polygon((x_{max}, y_{max}), (x_{min}, y_{max}), (x_{min}, y_{min}), (x_{max}, y_{min})) → VV, j, t, c, d
  2. Polygon((x((ro; α)), y((ro; α)), z_{min}) + PTest, (x((ro; α + 180°)), y((ro; α + 180°)), z_{min}) + PTest, (x((ro; α + 180°)), y((ro; α + 180°)), z_{max}) + PTest, (x((ro; α)), y((ro; α)), z_{max}) + PTest) → poly1, k, l, m, p
  3. ImplicitCurve(f(x, y) - f(x(C), y(C))) → ICurve_2
  4. IntersectPath(plane0, f(x, y)) → ICurve_3
  5. Point(ICurve_2) → R0
  6. Length(lr2) → llr2
  7. Sequence((x(Element[lr2, i]), y(Element[lr2, i]), f(x(Element[lr2, i]), y(Element[lr2, i]))), i, 1, llr2) → lllPmin01
  8. If(Length[lllPmin01] ≟ 0, false, true) → bwllPmin01
  9. Length(lr1) → llr1
  10. Sequence((x(Element[lr1, i]), y(Element[lr1, i]), f(x(Element[lr1, i]), y(Element[lr1, i]))), i, 1, llr1) → lllPmax01
  11. If(Length[lllPmax01] ≟ 0, false, true) → bwllPmax01
  12. If(bwllPmax01, Max[z(lllPmax01)], 1000) → Maxz0
  13. If(bwllPmax01, IndexOf[Maxz0, Sequence[z(Element[lllPmax01, i]), i, 1, Length[lllPmax01]]], 1000) → Indexmaxz0
  14. If(b, true, false) → h
  15. Length(lr3) → llr3
  16. Point(Segment[(0, 0), (6.28319, 0)]) → Af
  17. Point(Segment[Px2, Px1]) → Ax
  18. Point(Segment[Py2, Py1]) → Ay
  19. Textfield(N_{V1}) → inputBox1
  20. Textfield(x_{min}) → inputBox2
  21. Textfield(x_{max}) → inputBox3
  22. Textfield(y_{min}) → inputBox4
  23. Textfield(y_{max}) → inputBox5
  24. Textfield(f) → inputBox6
  25. Textfield(z_{min}) → inputBox7
  26. Textfield(z_{max}) → inputBox8
  27. Point(Segment[Pz2, Pz1]) → Az
  28. Textfield(ω_c) → inputBox9
  29. Textfield(vt) → inputBox10
  30. Sum(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, 1, 0], i, 1, n]) → ext1
  31. RotateText("z_{min}=" + z_{min} + "", 90°) → Text2
  32. RotateText("z_{max}=" + z_{max} + "", 90°) → Text6
  33. Sequence(Segment[Element[l0maxmin2, k], Element[l0maxmin2, k + 1]], k, 1, Length[l0maxmin2]) → linelmaxmin2
  34. Sequence(Element[lr1, i], i, 1, llr1) → lPmax
  35. Sequence(Element[lr2, i], i, 1, llr2) → lPmin
  36. Sequence(Element[lr3, i], i, 1, llr3) → lPsad
  37. If(bwllPmin01, Min[z(lllPmin01)], 1000) → Minz0
  38. If(bwllPmin01, IndexOf[Minz0, Sequence[z(Element[lllPmin01, i]), i, 1, Length[lllPmin01]]], 1000) → Indexminz0
  39. Element(lr2, Indexminz0) → P_{min0}
  40. If(bwllPmin01, Element[lllPmin01, Indexminz0], (1000, 1000, 1000)) → zmin2
  41. Point(Liste1) → C111a
  42. Locus(C1110a, C111a) → loc
  43. PolyLine(l0maxmin1) → linelmaxmin11
  44. If(bwllPmax01, Element[lllPmax01, Indexmaxz0], (1000, 1000, 1000)) → zmax2
  45. RemoveUndefined(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, i, NaN], i, 1, n]) → lr04
  46. Zip(Vector[b, a], a, Sequence[Element[lr01, Element[lr04, i]], i, 1, Length[lr04]], b, Sequence[Element[lr02, Element[lr04, i]], i, 1, Length[lr04]]) → lr06
  47. Sequence((x(Element[lr01, i]), y(Element[lr01, i]), f(x(Element[lr01, i]), y(Element[lr01, i]))), i, 1, n) → lr013
  48. Sequence((x(Element[lr02, i]), y(Element[lr02, i]), f(x(Element[lr02, i]), y(Element[lr02, i]))), i, 1, n) → lr023
  49. Zip(Vector[b, a], a, Sequence[Element[lr013, Element[lr04, i]], i, 1, Length[lr04]], b, Sequence[Element[lr023, Element[lr04, i]], i, 1, Length[lr04]]) → lr063
  50. Zip(Vector[a, b], a, Sequence[Element[lr01, Element[lr05, i]], i, 1, Length[lr05]], b, Sequence[Element[lr02, Element[lr05, i]], i, 1, Length[lr05]]) → lr07
  51. Zip(Vector[a, b], a, Sequence[Element[lr013, Element[lr05, i]], i, 1, Length[lr05]], b, Sequence[Element[lr023, Element[lr05, i]], i, 1, Length[lr05]]) → lr073
  52. Textfield(zoom_{3D}) → InputBox1
  53. Element(lr1, rmax - 1) → Pzmax
  54. Element(lr2, rmin - 1) → Pzmin
  55. Element(lr3, rsad - 1) → Pzsad
  56. Text("( x , y , z )") → TextR01
  57. Join({{TextR01}, lllPmax01}) → llPmax01
  58. Element(lr1, Indexmaxz0) → P_{max0}
  59. Sequence((x(Element[lr3, i]), y(Element[lr3, i]), f(x(Element[lr3, i]), y(Element[lr3, i]))), i, 1, llr3) → lllPsp
  60. Join({{TextR01}, lllPmin01}) → llPmin01
  61. Join({{TextR01}, lllPsp}) → llPsad01
  62. Element(lllPsp, rsad - 1) → Pzsad_{3D}
  63. Element(lllPmax01, rmax - 1) → Pzmax_{3D}
  64. Element(lllPmin01, rmin - 1) → Pzmin_{3D}
  65. Textfield(A) → InputBox2
  66. RemoveUndefined(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, i, (-i)], i, 1, n]) → lr04c
  67. Append(lr04c, Element[lr04c, 1]) → lr04cc
  68. Sum(Sequence[If[(Element[lr04cc, i] * Element[lr04cc, i + 1]) < 0, 1, 0], i, 1, n + 1]) → lr04ccc
  69. Line(A, RoR) → i
  70. ImplicitCurve(f(x, y) - zi) → list3
  71. ImplicitCurve(f(x, y) - zii) → list4
  72. Vector(R0, R41) → w_11
  73. Vector(R0, R0 + R11) → u_11
  74. Textfield(ω0_c) → InputBox3
  75. Textfield(r_a) → InputBox5
  76. Point(c) → G
  77. Point(j) → H
  78. Point(w_11, 1) → I
  79. Vector(F, I_{3D}) → v
  80. If(ext1 ≟ n, 1, If[ext1 ≟ 0, 2, If[lr04ccc > 2 ∧ lr04ccc ≤ 4, 3, 4]]) → roo
  81. Textfield(n_c) → InputBox6
  82. Textfield(a_c) → InputBox7
  83. Textfield(r_{lc}) → InputBox8
  84. Textfield(vt) → InputBox9
  85. PolyLine(Bl) → Bly
  86. PolyLine(Gr) → Gry
  87. PolyLine(Ro) → Roy
  88. Textfield(Nx) → InputBox10
  89. Textfield(Psize) → InputBox11
  90. Textfield(v_{m4}) → InputBox4

AI 绘图提示语参考

绘制一个三维函数图形,函数表达式为 f(x, y),x 和 y 的取值范围分别为 x_{min} 到 x_{max} 和 y_{min} 到 y_{max}。首先绘制一个四边形作为底面,然后绘制函数在 z_{min} 和 z_{max} 之间的曲面。接着绘制函数在 z_{min} 和 z_{max} 之间的交线,并找到这些交线上的最高点和最低点,最后绘制这些点的连线。
以上提示语为根据原始绘图命令整理而来,仅供参考。