二元函数可视化 by Roman Chijner

二元函数可视化 by Roman Chijner
几何画板及绘图内容加载中,请稍等……
2016-12-26 01:27
这个范例演示了二元函数的可视化。它涉及的核心数学概念包括函数、隐函数曲线和三维空间中的曲面。通过使用GeoGebra命令如If, Polygon, ImplicitCurve等,可以构造出复杂的几何图形。适合高中及以上学生或教师使用。

GeoGebra 命令及参数

  1. If(b_a, Nx_a, 1) → Nx1_a
  2. Polygon((x_{max}, y_{max}), (x_{min}, y_{max}), (x_{min}, y_{min}), (x_{max}, y_{min})) → VV, j, t, c, d
  3. PointIn(VV) → E_φ
  4. PointIn(VV) → PTest
  5. 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
  6. ImplicitCurve(f(x, y) - f(x(C), y(C))) → ICurve_2
  7. IntersectPath(plane0, f(x, y)) → ICurve_3
  8. Point(ICurve_2) → R0
  9. Length(lr2) → llr2
  10. Sequence((x(Element[lr2, i]), y(Element[lr2, i]), f(x(Element[lr2, i]), y(Element[lr2, i]))), i, 1, llr2) → lllPmin01
  11. If(Length[lllPmin01] ≟ 0, false, true) → bwllPmin01
  12. Length(lr1) → llr1
  13. Sequence((x(Element[lr1, i]), y(Element[lr1, i]), f(x(Element[lr1, i]), y(Element[lr1, i]))), i, 1, llr1) → lllPmax01
  14. If(Length[lllPmax01] ≟ 0, false, true) → bwllPmax01
  15. If(bwllPmax01, Max[z(lllPmax01)], 1000) → Maxz0
  16. If(bwllPmax01, IndexOf[Maxz0, Sequence[z(Element[lllPmax01, i]), i, 1, Length[lllPmax01]]], 1000) → Indexmaxz0
  17. If(b, true, false) → h
  18. If(h, Nx, 1) → Nx1
  19. Length(lr3) → llr3
  20. Point(Segment[(0, 0), (6.28319, 0)]) → Af
  21. Point(Segment[Px2, Px1]) → Ax
  22. Point(Segment[Py2, Py1]) → Ay
  23. Textfield(N_{V1}) → inputBox1
  24. Textfield(x_{min}) → inputBox2
  25. Textfield(x_{max}) → inputBox3
  26. Textfield(y_{min}) → inputBox4
  27. Textfield(y_{max}) → inputBox5
  28. Textfield(f) → inputBox6
  29. Textfield(z_{min}) → inputBox7
  30. Textfield(z_{max}) → inputBox8
  31. Point(Segment[Pz2, Pz1]) → Az
  32. If(zzii < 0, 0, If[zzii > 1, 1, cos(((0.9 * zzii) * 10^(ω_c)))]) → Ra01
  33. If(zzii < 0, 0, If[zzii > 1, 0, sin(((0.5 * zzii) * 10^(ω_c)))]) → Ga01
  34. If(zzii < 0, 0, If[zzii > 1, 0, cos(((0.7 * zzii) * 10^(ω_c)))]) → Ba01
  35. Sequence((x(Element[Extrx0, i]), yi3_e), i, 1, Length[Extrx0]) → Extrx2
  36. Sequence((xi3_e, x(Element[Extry0, i])), i, 1, Length[Extry0]) → Extry2
  37. Textfield(ω_c) → inputBox9
  38. Textfield(vt) → inputBox10
  39. Sum(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, 1, 0], i, 1, n]) → ext1
  40. RotateText("z_{min}=" + z_{min} + "", 90°) → Text2
  41. RotateText("z_{max}=" + z_{max} + "", 90°) → Text6
  42. Sequence(Segment[Element[l0maxmin2, k], Element[l0maxmin2, k + 1]], k, 1, Length[l0maxmin2]) → linelmaxmin2
  43. Sequence(Element[lr1, i], i, 1, llr1) → lPmax
  44. Sequence(Element[lr2, i], i, 1, llr2) → lPmin
  45. Sequence(Element[lr3, i], i, 1, llr3) → lPsad
  46. If(bwllPmin01, Min[z(lllPmin01)], 1000) → Minz0
  47. If(bwllPmin01, IndexOf[Minz0, Sequence[z(Element[lllPmin01, i]), i, 1, Length[lllPmin01]]], 1000) → Indexminz0
  48. Element(lr2, Indexminz0) → P_{min0}
  49. If(bwllPmin01, Element[lllPmin01, Indexminz0], (1000, 1000, 1000)) → zmin2
  50. Point(Liste1) → C111a
  51. Locus(C1110a, C111a) → loc
  52. Sequence(If[abs(Element[Ffarbe, i]) > 1, 0, cos((((e * 0.9) * Element[Ffarbe, i]) * 10^(ω_c)))], i, 1, Nx1) → Lvalue
  53. Sequence(If[Element[Ffarbe, i] < 0.14, 0, Element[Ffarbe, i]], i, 1, Nx1) → Lhue
  54. Sequence(If[Element[Ffarbe, i] < 0.14, 0, 1], i, 1, Nx1) → Lsat
  55. PolyLine(l0maxmin1) → linelmaxmin11
  56. If(bwllPmax01, Element[lllPmax01, Indexmaxz0], (1000, 1000, 1000)) → zmax2
  57. RemoveUndefined(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, i, NaN], i, 1, n]) → lr04
  58. 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
  59. Sequence((x(Element[lr01, i]), y(Element[lr01, i]), f(x(Element[lr01, i]), y(Element[lr01, i]))), i, 1, n) → lr013
  60. Sequence((x(Element[lr02, i]), y(Element[lr02, i]), f(x(Element[lr02, i]), y(Element[lr02, i]))), i, 1, n) → lr023
  61. 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
  62. 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
  63. 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
  64. Textfield(zoom_{3D}) → InputBox1
  65. Element(lr1, rmax - 1) → Pzmax
  66. Element(lr2, rmin - 1) → Pzmin
  67. Element(lr3, rsad - 1) → Pzsad
  68. Text("( x , y , z )") → TextR01
  69. Join({{TextR01}, lllPmax01}) → llPmax01
  70. Element(lr1, Indexmaxz0) → P_{max0}
  71. Sequence((x(Element[lr3, i]), y(Element[lr3, i]), f(x(Element[lr3, i]), y(Element[lr3, i]))), i, 1, llr3) → lllPsp
  72. Join({{TextR01}, lllPmin01}) → llPmin01
  73. Join({{TextR01}, lllPsp}) → llPsad01
  74. Element(lllPsp, rsad - 1) → Pzsad_{3D}
  75. Element(lllPmax01, rmax - 1) → Pzmax_{3D}
  76. Element(lllPmin01, rmin - 1) → Pzmin_{3D}
  77. Sequence(If[Element[Ffarbe_a, i] < 0.14, 0, Element[Ffarbe_a, i]], i, 1, Nx1_a) → Lhue_a
  78. Sequence(If[abs(Element[Ffarbe_a, i]) > 1, 0, cos((((e * 0.9) * Element[Ffarbe_a, i]) * 10^(ω0_c)))], i, 1, Nx1_a) → Lvalue_a
  79. Sequence(If[Element[Ffarbe_a, i] < 0.14, 0, 1], i, 1, Nx1_a) → Lsat_a
  80. Circle(PTest, R) → s
  81. Textfield(A) → InputBox2
  82. RemoveUndefined(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, i, (-i)], i, 1, n]) → lr04c
  83. Append(lr04c, Element[lr04c, 1]) → lr04cc
  84. Sum(Sequence[If[(Element[lr04cc, i] * Element[lr04cc, i + 1]) < 0, 1, 0], i, 1, n + 1]) → lr04ccc
  85. Line(A, RoR) → i
  86. ImplicitCurve(f(x, y) - zi) → list3
  87. If(dzir < 0.01, 0, dzir) → Lhuez
  88. ImplicitCurve(f(x, y) - zii) → list4
  89. If(dziir < 0.01, 0, dziir) → Lhuezii
  90. Circle(E_φ, R + 0.2) → sz
  91. Vector(R0, R41) → w_11
  92. Vector(R0, R0 + R11) → u_11
  93. SlopeField(f1', n_c, a_c, x_{min}, y_{min}, x_{max}, y_{max}) → SF
  94. Textfield(ω0_c) → InputBox3
  95. Textfield(R) → InputBox4
  96. Textfield(r_a) → InputBox5
  97. Point(c) → G
  98. Point(j) → H
  99. Point(w_11, 1) → I
  100. Vector(F, I_{3D}) → v
  101. If(ext1 ≟ n, 1, If[ext1 ≟ 0, 2, If[(lr04ccc > 2) ∧ (lr04ccc ≤ 4), 3, 4]]) → roo
  102. Textfield(n_c) → InputBox6
  103. Textfield(a_c) → InputBox7
  104. Textfield(r_{lc}) → InputBox8