参数曲面格罗诺环面与移动平面的交线
几何画板及绘图内容加载中,请稍等……
该范例演示了参数曲面(格罗诺环面,即由格罗诺曲线绕轴旋转形成的环面)与一个移动平面相交时产生的交线动态变化。核心数学概念包括参数曲面、平面与曲面的交线、三维空间中的曲线以及参数方程。作图要点:使用GeoGebra的Surface命令构造参数曲面,通过CurveCartesian定义交线,利用Sequence和Zip生成多条交线,结合RemoveUndefined处理无效点,并借助滑块(如u_min, u_max, v_min, v_max)和输入框(inputBox)控制参数范围与平面位置,实现动态交互。适合高中至大学阶段的数学教学,用于理解三维几何、参数方程和空间曲线,也可作为数学建模或可视化演示的素材。
GeoGebra 命令及参数
Surface(fx(u, v), fy(u, v), fz(u, v), u, u_{min}, u_{max}, v, v_{min}, v_{max}) → f3Textfield(fx) → inputBox1Textfield(fy) → inputBox2Textfield(fz) → inputBox3Textfield(u_{min}) → inputBox4Textfield(u_{max}) → inputBox6Textfield(v_{min}) → inputBox7Textfield(v_{max}) → inputBox8CurveCartesian(fx(u, (3 * u) - acos(z0 / 5)), fy(u, (3 * u) - acos(z0 / 5)), z0, u, u_{min}, u_{max}) → g1CurveCartesian(fx(u, (3 * u) + acos(z0 / 5)), fy(u, (3 * u) + acos(z0 / 5)), z0, u, u_{min}, u_{max}) → g2Sequence(CurveCartesian[fx((acos(z0 / 5) + ((2 * π) * i)) / 3 + v / 3, v), fy((acos(z0 / 5) + ((2 * π) * i)) / 3 + v / 3, v), z0, v, 0, 15], i, n1, n2, 1) → l3Sequence(CurveCartesian[fx(((-acos(z0 / 5)) + ((2 * π) * i)) / 3 + v / 3, v), fy(((-acos(z0 / 5)) + ((2 * π) * i)) / 3 + v / 3, v), z0, v, 0, 15], i, n1, n2, 1) → l4RemoveUndefined(Join[Sequence[Zip[a + (0, v_{min} + (dv * (s0 - 1))), a, {Roots[fz(x, v_{min} + (dv * (s0 - 1))) - z0, u_{min}, u_{max}]}], s0, 1, Nn + 1]]) → RootsxvZip((fx(x(a), y(a)), fy(x(a), y(a)), z0), a, Rootsxv) → curvexvRemoveUndefined(Join[Sequence[Zip[a + (0, u_{min} + (du * (s0 - 1))), a, {Roots[fz(u_{min} + (du * (s0 - 1)), x) - z0, v_{min}, v_{max}]}], s0, 1, Nn + 1]]) → RootsuxZip((fx(y(a), x(a)), fy(y(a), x(a)), z0), a, Rootsux) → curveuxTextfield(Nn) → inputBox5CurveCartesian(fx(t, 0), fy(t, 0), fz(t, 0), t, u_{min}, u_{max}) → M4_{1}CurveCartesian(fx(0, t), fy(0, t), fz(0, t), t, v_{min}, v_{max}) → M5_{1}CurveCartesian(fx(t, 0.3), fy(t, 0.3), fz(t, 0.3), t, u_{min}, u_{max}) → M4_{2}CurveCartesian(fx(0.12566370614359174, t), fy(0.12566370614359174, t), fz(0.12566370614359174, t), t, v_{min}, v_{max}) → M5_{2}CurveCartesian(fx(t, 0.6), fy(t, 0.6), fz(t, 0.6), t, u_{min}, u_{max}) → M4_{3}CurveCartesian(fx(0.25132741228718347, t), fy(0.25132741228718347, t), fz(0.25132741228718347, t), t, v_{min}, v_{max}) → M5_{3}CurveCartesian(fx(t, 0.8999999999999999), fy(t, 0.8999999999999999), fz(t, 0.8999999999999999), t, u_{min}, u_{max}) → M4_{4}CurveCartesian(fx(0.3769911184307752, t), fy(0.3769911184307752, t), fz(0.3769911184307752, t), t, v_{min}, v_{max}) → M5_{4}CurveCartesian(fx(t, 1.2), fy(t, 1.2), fz(t, 1.2), t, u_{min}, u_{max}) → M4_{5}CurveCartesian(fx(0.5026548245743669, t), fy(0.5026548245743669, t), fz(0.5026548245743669, t), t, v_{min}, v_{max}) → M5_{5}CurveCartesian(fx(t, 1.5), fy(t, 1.5), fz(t, 1.5), t, u_{min}, u_{max}) → M4_{6}CurveCartesian(fx(0.6283185307179586, t), fy(0.6283185307179586, t), fz(0.6283185307179586, t), t, v_{min}, v_{max}) → M5_{6}CurveCartesian(fx(t, 1.7999999999999998), fy(t, 1.7999999999999998), fz(t, 1.7999999999999998), t, u_{min}, u_{max}) → M4_{7}CurveCartesian(fx(0.7539822368615504, t), fy(0.7539822368615504, t), fz(0.7539822368615504, t), t, v_{min}, v_{max}) → M5_{7}CurveCartesian(fx(t, 2.1), fy(t, 2.1), fz(t, 2.1), t, u_{min}, u_{max}) → M4_{8}CurveCartesian(fx(0.8796459430051422, t), fy(0.8796459430051422, t), fz(0.8796459430051422, t), t, v_{min}, v_{max}) → M5_{8}CurveCartesian(fx(t, 2.4), fy(t, 2.4), fz(t, 2.4), t, u_{min}, u_{max}) → M4_{9}CurveCartesian(fx(1.0053096491487339, t), fy(1.0053096491487339, t), fz(1.0053096491487339, t), t, v_{min}, v_{max}) → M5_{9}CurveCartesian(fx(t, 2.6999999999999997), fy(t, 2.6999999999999997), fz(t, 2.6999999999999997), t, u_{min}, u_{max}) → M4_{10}CurveCartesian(fx(1.1309733552923256, t), fy(1.1309733552923256, t), fz(1.1309733552923256, t), t, v_{min}, v_{max}) → M5_{10}CurveCartesian(fx(t, 3), fy(t, 3), fz(t, 3), t, u_{min}, u_{max}) → M4_{11}CurveCartesian(fx(1.2566370614359172, t), fy(1.2566370614359172, t), fz(1.2566370614359172, t), t, v_{min}, v_{max}) → M5_{11}CurveCartesian(fx(t, 3.3), fy(t, 3.3), fz(t, 3.3), t, u_{min}, u_{max}) → M4_{12}CurveCartesian(fx(1.3823007675795091, t), fy(1.3823007675795091, t), fz(1.3823007675795091, t), t, v_{min}, v_{max}) → M5_{12}CurveCartesian(fx(t, 3.5999999999999996), fy(t, 3.5999999999999996), fz(t, 3.5999999999999996), t, u_{min}, u_{max}) → M4_{13}CurveCartesian(fx(1.5079644737231008, t), fy(1.5079644737231008, t), fz(1.5079644737231008, t), t, v_{min}, v_{max}) → M5_{13}CurveCartesian(fx(t, 3.9), fy(t, 3.9), fz(t, 3.9), t, u_{min}, u_{max}) → M4_{14}CurveCartesian(fx(1.6336281798666925, t), fy(1.6336281798666925, t), fz(1.6336281798666925, t), t, v_{min}, v_{max}) → M5_{14}CurveCartesian(fx(t, 4.2), fy(t, 4.2), fz(t, 4.2), t, u_{min}, u_{max}) → M4_{15}CurveCartesian(fx(1.7592918860102844, t), fy(1.7592918860102844, t), fz(1.7592918860102844, t), t, v_{min}, v_{max}) → M5_{15}CurveCartesian(fx(t, 4.5), fy(t, 4.5), fz(t, 4.5), t, u_{min}, u_{max}) → M4_{16}CurveCartesian(fx(1.884955592153876, t), fy(1.884955592153876, t), fz(1.884955592153876, t), t, v_{min}, v_{max}) → M5_{16}CurveCartesian(fx(t, 4.8), fy(t, 4.8), fz(t, 4.8), t, u_{min}, u_{max}) → M4_{17}CurveCartesian(fx(2.0106192982974678, t), fy(2.0106192982974678, t), fz(2.0106192982974678, t), t, v_{min}, v_{max}) → M5_{17}CurveCartesian(fx(t, 5.1), fy(t, 5.1), fz(t, 5.1), t, u_{min}, u_{max}) → M4_{18}CurveCartesian(fx(2.1362830044410597, t), fy(2.1362830044410597, t), fz(2.1362830044410597, t), t, v_{min}, v_{max}) → M5_{18}CurveCartesian(fx(t, 5.3999999999999995), fy(t, 5.3999999999999995), fz(t, 5.3999999999999995), t, u_{min}, u_{max}) → M4_{19}CurveCartesian(fx(2.261946710584651, t), fy(2.261946710584651, t), fz(2.261946710584651, t), t, v_{min}, v_{max}) → M5_{19}CurveCartesian(fx(t, 5.7), fy(t, 5.7), fz(t, 5.7), t, u_{min}, u_{max}) → M4_{20}CurveCartesian(fx(2.387610416728243, t), fy(2.387610416728243, t), fz(2.387610416728243, t), t, v_{min}, v_{max}) → M5_{20}CurveCartesian(fx(t, 6), fy(t, 6), fz(t, 6), t, u_{min}, u_{max}) → M4_{21}CurveCartesian(fx(2.5132741228718345, t), fy(2.5132741228718345, t), fz(2.5132741228718345, t), t, v_{min}, v_{max}) → M5_{21}CurveCartesian(fx(t, 6.3), fy(t, 6.3), fz(t, 6.3), t, u_{min}, u_{max}) → M4_{22}CurveCartesian(fx(2.6389378290154264, t), fy(2.6389378290154264, t), fz(2.6389378290154264, t), t, v_{min}, v_{max}) → M5_{22}CurveCartesian(fx(t, 6.6), fy(t, 6.6), fz(t, 6.6), t, u_{min}, u_{max}) → M4_{23}CurveCartesian(fx(2.7646015351590183, t), fy(2.7646015351590183, t), fz(2.7646015351590183, t), t, v_{min}, v_{max}) → M5_{23}CurveCartesian(fx(t, 6.8999999999999995), fy(t, 6.8999999999999995), fz(t, 6.8999999999999995), t, u_{min}, u_{max}) → M4_{24}CurveCartesian(fx(2.8902652413026098, t), fy(2.8902652413026098, t), fz(2.8902652413026098, t), t, v_{min}, v_{max}) → M5_{24}CurveCartesian(fx(t, 7.199999999999999), fy(t, 7.199999999999999), fz(t, 7.199999999999999), t, u_{min}, u_{max}) → M4_{25}CurveCartesian(fx(3.0159289474462017, t), fy(3.0159289474462017, t), fz(3.0159289474462017, t), t, v_{min}, v_{max}) → M5_{25}CurveCartesian(fx(t, 7.5), fy(t, 7.5), fz(t, 7.5), t, u_{min}, u_{max}) → M4_{26}CurveCartesian(fx(3.1415926535897936, t), fy(3.1415926535897936, t), fz(3.1415926535897936, t), t, v_{min}, v_{max}) → M5_{26}CurveCartesian(fx(t, 7.8), fy(t, 7.8), fz(t, 7.8), t, u_{min}, u_{max}) → M4_{27}CurveCartesian(fx(3.267256359733385, t), fy(3.267256359733385, t), fz(3.267256359733385, t), t, v_{min}, v_{max}) → M5_{27}CurveCartesian(fx(t, 8.1), fy(t, 8.1), fz(t, 8.1), t, u_{min}, u_{max}) → M4_{28}CurveCartesian(fx(3.392920065876977, t), fy(3.392920065876977, t), fz(3.392920065876977, t), t, v_{min}, v_{max}) → M5_{28}CurveCartesian(fx(t, 8.4), fy(t, 8.4), fz(t, 8.4), t, u_{min}, u_{max}) → M4_{29}CurveCartesian(fx(3.518583772020569, t), fy(3.518583772020569, t), fz(3.518583772020569, t), t, v_{min}, v_{max}) → M5_{29}CurveCartesian(fx(t, 8.7), fy(t, 8.7), fz(t, 8.7), t, u_{min}, u_{max}) → M4_{30}CurveCartesian(fx(3.6442474781641603, t), fy(3.6442474781641603, t), fz(3.6442474781641603, t), t, v_{min}, v_{max}) → M5_{30}CurveCartesian(fx(t, 9), fy(t, 9), fz(t, 9), t, u_{min}, u_{max}) → M4_{31}CurveCartesian(fx(3.769911184307752, t), fy(3.769911184307752, t), fz(3.769911184307752, t), t, v_{min}, v_{max}) → M5_{31}CurveCartesian(fx(t, 9.299999999999999), fy(t, 9.299999999999999), fz(t, 9.299999999999999), t, u_{min}, u_{max}) → M4_{32}CurveCartesian(fx(3.8955748904513436, t), fy(3.8955748904513436, t), fz(3.8955748904513436, t), t, v_{min}, v_{max}) → M5_{32}CurveCartesian(fx(t, 9.6), fy(t, 9.6), fz(t, 9.6), t, u_{min}, u_{max}) → M4_{33}CurveCartesian(fx(4.0212385965949355, t), fy(4.0212385965949355, t), fz(4.0212385965949355, t), t, v_{min}, v_{max}) → M5_{33}CurveCartesian(fx(t, 9.9), fy(t, 9.9), fz(t, 9.9), t, u_{min}, u_{max}) → M4_{34}CurveCartesian(fx(4.1469023027385274, t), fy(4.1469023027385274, t), fz(4.1469023027385274, t), t, v_{min}, v_{max}) → M5_{34}CurveCartesian(fx(t, 10.2), fy(t, 10.2), fz(t, 10.2), t, u_{min}, u_{max}) → M4_{35}CurveCartesian(fx(4.272566008882119, t), fy(4.272566008882119, t), fz(4.272566008882119, t), t, v_{min}, v_{max}) → M5_{35}CurveCartesian(fx(t, 10.5), fy(t, 10.5), fz(t, 10.5), t, u_{min}, u_{max}) → M4_{36}CurveCartesian(fx(4.39822971502571, t), fy(4.39822971502571, t), fz(4.39822971502571, t), t, v_{min}, v_{max}) → M5_{36}CurveCartesian(fx(t, 10.799999999999999), fy(t, 10.799999999999999), fz(t, 10.799999999999999), t, u_{min}, u_{max}) → M4_{37}CurveCartesian(fx(4.523893421169302, t), fy(4.523893421169302, t), fz(4.523893421169302, t), t, v_{min}, v_{max}) → M5_{37}CurveCartesian(fx(t, 11.1), fy(t, 11.1), fz(t, 11.1), t, u_{min}, u_{max}) → M4_{38}CurveCartesian(fx(4.649557127312894, t), fy(4.649557127312894, t), fz(4.649557127312894, t), t, v_{min}, v_{max}) → M5_{38}CurveCartesian(fx(t, 11.4), fy(t, 11.4), fz(t, 11.4), t, u_{min}, u_{max}) → M4_{39}CurveCartesian(fx(4.775220833456486, t), fy(4.775220833456486, t), fz(4.775220833456486, t), t, v_{min}, v_{max}) → M5_{39}CurveCartesian(fx(t, 11.7), fy(t, 11.7), fz(t, 11.7), t, u_{min}, u_{max}) → M4_{40}CurveCartesian(fx(4.900884539600078, t), fy(4.900884539600078, t), fz(4.900884539600078, t), t, v_{min}, v_{max}) → M5_{40}CurveCartesian(fx(t, 12), fy(t, 12), fz(t, 12), t, u_{min}, u_{max}) → M4_{41}CurveCartesian(fx(5.026548245743669, t), fy(5.026548245743669, t), fz(5.026548245743669, t), t, v_{min}, v_{max}) → M5_{41}CurveCartesian(fx(t, 12.299999999999999), fy(t, 12.299999999999999), fz(t, 12.299999999999999), t, u_{min}, u_{max}) → M4_{42}CurveCartesian(fx(5.152211951887261, t), fy(5.152211951887261, t), fz(5.152211951887261, t), t, v_{min}, v_{max}) → M5_{42}CurveCartesian(fx(t, 12.6), fy(t, 12.6), fz(t, 12.6), t, u_{min}, u_{max}) → M4_{43}CurveCartesian(fx(5.277875658030853, t), fy(5.277875658030853, t), fz(5.277875658030853, t), t, v_{min}, v_{max}) → M5_{43}CurveCartesian(fx(t, 12.9), fy(t, 12.9), fz(t, 12.9), t, u_{min}, u_{max}) → M4_{44}CurveCartesian(fx(5.403539364174445, t), fy(5.403539364174445, t), fz(5.403539364174445, t), t, v_{min}, v_{max}) → M5_{44}CurveCartesian(fx(t, 13.2), fy(t, 13.2), fz(t, 13.2), t, u_{min}, u_{max}) → M4_{45}CurveCartesian(fx(5.529203070318037, t), fy(5.529203070318037, t), fz(5.529203070318037, t), t, v_{min}, v_{max}) → M5_{45}CurveCartesian(fx(t, 13.5), fy(t, 13.5), fz(t, 13.5), t, u_{min}, u_{max}) → M4_{46}CurveCartesian(fx(5.6548667764616285, t), fy(5.6548667764616285, t), fz(5.6548667764616285, t), t, v_{min}, v_{max}) → M5_{46}CurveCartesian(fx(t, 13.799999999999999), fy(t, 13.799999999999999), fz(t, 13.799999999999999), t, u_{min}, u_{max}) → M4_{47}CurveCartesian(fx(5.7805304826052195, t), fy(5.7805304826052195, t), fz(5.7805304826052195, t), t, v_{min}, v_{max}) → M5_{47}CurveCartesian(fx(t, 14.1), fy(t, 14.1), fz(t, 14.1), t, u_{min}, u_{max}) → M4_{48}CurveCartesian(fx(5.906194188748811, t), fy(5.906194188748811, t), fz(5.906194188748811, t), t, v_{min}, v_{max}) → M5_{48}CurveCartesian(fx(t, 14.399999999999999), fy(t, 14.399999999999999), fz(t, 14.399999999999999), t, u_{min}, u_{max}) → M4_{49}CurveCartesian(fx(6.031857894892403, t), fy(6.031857894892403, t), fz(6.031857894892403, t), t, v_{min}, v_{max}) → M5_{49}CurveCartesian(fx(t, 14.7), fy(t, 14.7), fz(t, 14.7), t, u_{min}, u_{max}) → M4_{50}CurveCartesian(fx(6.157521601035995, t), fy(6.157521601035995, t), fz(6.157521601035995, t), t, v_{min}, v_{max}) → M5_{50}CurveCartesian(fx(t, 15), fy(t, 15), fz(t, 15), t, u_{min}, u_{max}) → M4_{51}CurveCartesian(fx(6.283185307179587, t), fy(6.283185307179587, t), fz(6.283185307179587, t), t, v_{min}, v_{max}) → M5_{51}