移动平面与曲面 z=f(x,y) 的交线演示

移动平面与曲面 z=f(x,y) 的交线演示
几何画板及绘图内容加载中,请稍等……
2016-04-26 21:02
本范例动态展示三维曲面 z=f(x,y) 被一个可移动平面截取时,交线随平面高度或位置变化而改变的过程。核心概念包括二元函数图像、空间曲面、平面与曲面相交、截面曲线、等高线/截线、参数化与数值采样。作图要点:用 Function 定义曲面 f,用 ImplicitCurve、IntersectPath 和 PointIn 生成或筛选交线/点,借助 If、Point、Segment、PolyLine、Polygon、Zip、Sequence、Sum、Length、RemoveUndefined、Append 等命令组织条件、采样点、路径与多边形,并通过 z0、z_min、z_max、z_Step、N_P、N_C、x_min、x_max、y_min、y_max、Pxy、P1xxy、P2yyx、B01、B02、a、b、c、d、e、y0 等对象控制范围、步长、点数和平面位置;Textfield、inputBox2、inputBox3、button1、button2、button5、v_1、text1、text2 提供输入与按钮交互。适合高中数学拓展、大学多元微积分、空间解析几何与 GeoGebra 三维作图教学。

GeoGebra 命令及参数

  1. If(Length[RemoveUndefined[Join[Zip[Mirror[{Roots[f0(a, x), y_{min}, y_{max}]}, y = x] + (a, 0), a, Sequence[x_{min} + ((x_{max} - x_{min}) / N_P * i), i, 0, N_P]]]]] ≟ 0, false, true) → lb1
  2. If(lb1, RemoveUndefined[Join[Zip[Mirror[{Roots[f0(a, x), y_{min}, y_{max}]}, y = x] + (a, 0), a, Sequence[x_{min} + ((x_{max} - x_{min}) / N_P * i), i, 0, N_P]]]], Sequence[(10000, 10000), k, 1, 50]) → P1xxy
  3. If(lb1, RemoveUndefined[Join[Zip[Reverse[{Roots[f0(x, a), x_{min}, x_{max}]}] + (0, a), a, Sequence[y_{min} + ((y_{max} - y_{min}) / N_P * i), i, 0, N_P]]]], Sequence[(10000, 10000), k, 1, 50]) → P2yyx
  4. Polygon((x_{min}, y_{min}), (x_{max}, y_{min}), (x_{max}, y_{max}), (x_{min}, y_{max})) → poly1, b, c, d, e
  5. PointIn(poly1) → PTest
  6. Zip((x(a), y(a), z0), a, Join[{P1xxy, P2yyx}]) → list1
  7. Segment(B02, B01) → a
  8. Textfield(v_1) → inputBox2
  9. Textfield(f) → inputBox3
  10. Textfield(x_{min}) → inputBox4
  11. Textfield(x_{max}) → inputBox5
  12. Textfield(y_{max}) → inputBox6
  13. Textfield(z_{max}) → inputBox7
  14. Textfield(y_{min}) → inputBox8
  15. Textfield(z_{min}) → inputBox9
  16. Point(a, 1 - zzii_B) → A
  17. Textfield(N_P) → inputBox10
  18. Sum(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, 1, 0], i, 1, n]) → ext1
  19. Length(list1) → Lä
  20. Textfield(step) → inputBox12
  21. Textfield(zoom_{3D}) → InputBox1
  22. Sequence((x(Element[lr01, i]), y(Element[lr01, i]), f(x(Element[lr01, i]), y(Element[lr01, i]))), i, 1, n) → lr013
  23. Sequence((x(Element[lr02, i]), y(Element[lr02, i]), f(x(Element[lr02, i]), y(Element[lr02, i]))), i, 1, n) → lr023
  24. RemoveUndefined(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, i, NaN], i, 1, n]) → lr04
  25. 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
  26. 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
  27. 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
  28. 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
  29. RemoveUndefined(Sequence[If[f(x(PTest), y(PTest)) - f(x(Element[lr01, i]), y(Element[lr01, i])) > 0, i, (-i)], i, 1, n]) → lr04c
  30. Append(lr04c, Element[lr04c, 1]) → lr04cc
  31. Sum(Sequence[If[(Element[lr04cc, i] * Element[lr04cc, i + 1]) < 0, 1, 0], i, 1, n + 1]) → lr04ccc
  32. If(ext1 ≟ n, "Max", If[ext1 ≟ 0, "Min", If[(lr04ccc > 2) ∧ (lr04ccc ≤ 4), "saddle ? ", "?"]]) → TT1
  33. PolyLine({(0, 0.5019607843), (0.1, 0.4980392157), (0.2, 0), (0.3, 0), (0.4, 0.2), (0.5, 0.2), (0.7, 1), (1, 1)}) → Ro
  34. PolyLine({(0, 0), (0.2, 0), (0.3, 0.6), (0.4, 1), (0.7, 1), (0.9, 0.2), (1, 0)}) → Gr
  35. PolyLine({(0, 0.5019607843), (0.1, 1), (0.3, 1), (0.4, 0.8), (0.5, 0), (0.6, 0), (0.7, 0.4), (0.8, 0.2), (0.9, 0.4), (1, 0)}) → Bl
  36. Function(f(a, b), a, x_{min} - 0.2, x_{max} + 0.2, b, y_{min} - 0.2, y_{max} + 0.2) → g
  37. Point(Pxy) → D
  38. Textfield(z0) → InputBox2
  39. ImplicitCurve(g(x, y) - z0) → p
  40. IntersectPath(o, g(x, y)) → s

AI 绘图提示语参考

绘制一个三维空间中的曲面,该曲面由函数 z=f(x,y) 定义,并展示一个移动的平面如何与该曲面相交形成曲线。通过调整平面的位置和观察相交曲线的变化,可以理解多变量函数、空间曲面、平面与曲面交线、截面曲线等概念。图形应包含曲面的三维视图、移动平面的轨迹以及相交曲线,并允许用户通过滑块和输入框控制函数、曲面范围和平面位置。
以上提示语为根据原始绘图命令整理而来,仅供参考。