3D Surface Plotter with Contour Lines
Loading the math board and drawing, please wait…
This example demonstrates the plotting of 3D surfaces z = f(x,y) and the animation of contour lines in three-dimensional space. Key mathematical concepts include function mapping, 3D coordinate systems, parametric surfaces, and contour mapping. The construction utilizes GeoGebra commands and objects such as If, Corner, Mod, Sequence, Element, Polygon, Vector, Segment, Ray, Textfield, Point, Locus, and LaTeX. It is suitable for high school and above students to understand the representation and dynamic changes of function graphs in 3D space.
GeoGebra Commands & Parameters
If(x ≟ 0, 1, sin(x) / x) → sincCorner(1) → Eckpunkt1Corner(2) → Eckpunkt2Corner(3) → Eckpunkt3If(c, α, x(C - Eckpunkt1) / dEx * c_{Move}) → α1If(c, β, y(C - Eckpunkt2) / dEy * c_{Move}) → β1If(jg, t, x_{min} + x_{max} - t) → tjIf(a ∧ bP, tj) → tt2If(a ∧ (¬bP), tj) → tt1Mod(β1, 6.283) → β2Mod(α1, 6.283) → α2Sequence(a11 * Element[zWX1, i] + a12 * Element[zWY1, i] + a13 * Element[zWZ1, i], i, 1, 4) → zWX1'Element(zWW_0, 3) → zW_2Element(zWW_0, 4) → zW_1Element(zWW_0, 2) → zW_3Polygon(Eckpunkt1, Eck11, Eck12, (x(Eckpunkt1), y(Eck12))) → Vieleck2, eckpunkt1, eck11, eck12, a_1Sequence(Segment[Element[zl10, i], Element[zl10, i + 1]], i, 1, 7) → BoxStrVector(Element[zl10, 4], Element[zl10, 1]) → zVectxVector(Element[zl10, 4], Element[zl10, 3]) → zVectyVector(Element[zl10, 4], Element[zl10, 5]) → zVectzPolygon(Eck11, Eckpunkt2, Eckpunkt3, Eck12) → Vieleck1, eck11_1, eckpunkt2, eckpunkt3, eck12_1Element(zTT, zW_1) → zY1Element(zTT, zW_2) → zY2Element(zTT, zW_3) → zY3Polygon(zTT) → zTTPoly, , , ,Element(zl10, zW_1) → zlN11Element(zl10, 9 - zW_1) → zlN111Element(zl10, zW_2) → zlN22Element(zl10, 9 - zW_2) → zlN222Element(zl10, zW_3) → zlN33Element(zWW_0, 1) → zW_4Element(zl10, zW_4) → zlN44Polygon({zlN11, zlN22, zlN222, zlN111}) → Vgrund01, , , ,Polygon(Sequence[Element[zl10, i], i, 1, 4]) → Vgrund000, , , ,Element(zl10, 7) → P_RElement(zl10, 8) → P_LPolygon({Element[zl10, 1], Element[zl10, 2], Element[zl10, 7], Element[zl10, 8]}) → Vvrd0, , , ,Segment(P_R, P_L) → StrRLPolygon(Sequence[Element[zl10, i], i, 9, 12]) → zlPoly, n, r, s, c_1Ray(B, Element[zl10, 13]) → StrxRay(B, Element[zl10, 14]) → StryRay(B, Element[zl10, 15]) → StrzTextfield(x_{min}) → inputBox1Textfield(x_{max}) → inputBox4Textfield(v_{Animation}) → inputBox8Textfield(Step) → inputBox7Textfield(N) → inputBox9If(b, t, t0) → RotIf(b, exp(t), sin(π * t0)) → GrünIf(b, ℯ^(-t), 1 - (t0 - 0.5)^(2)) → BlauTextfield(t) → inputBox10Textfield(Th) → inputBox3Textfield(y_{min}) → inputBox5Textfield(z_{min}) → inputBox6Textfield(z_{max}) → inputBox11Textfield(y_{max}) → inputBox12Segment((x_{min}, 0), (x_{max}, 0)) → SxSegment((0, y_{min}), (0, y_{max})) → SyPoint(Sx) → AxPoint(Sy) → AyLocus(A', y0) → locuLocus(A, y0) → locyLocus(A', x0) → locvTextfield(f) → inputBox2LaTeX(f, true, true) → Text3_1LaTeX(f, true, true) → Text12_1Locus(M5_{1}, Ay) → M6_{1}Locus(M5_{2}, Ay) → M6_{2}Locus(M5_{3}, Ay) → M6_{3}Locus(M5_{4}, Ay) → M6_{4}Locus(M5_{5}, Ay) → M6_{5}Locus(M5_{6}, Ay) → M6_{6}Locus(M5_{7}, Ay) → M6_{7}Locus(M5_{8}, Ay) → M6_{8}Locus(M5_{9}, Ay) → M6_{9}Locus(M5_{10}, Ay) → M6_{10}Locus(M5_{11}, Ay) → M6_{11}Locus(M5_{12}, Ay) → M6_{12}Locus(M5_{13}, Ay) → M6_{13}Locus(M5_{14}, Ay) → M6_{14}Locus(M5_{15}, Ay) → M6_{15}Locus(M5_{16}, Ay) → M6_{16}Locus(M5_{17}, Ay) → M6_{17}Locus(M5_{18}, Ay) → M6_{18}Locus(M5_{19}, Ay) → M6_{19}Locus(M5_{20}, Ay) → M6_{20}Locus(M5_{21}, Ay) → M6_{21}Locus(M5_{22}, Ay) → M6_{22}Locus(M5_{23}, Ay) → M6_{23}Locus(M5_{24}, Ay) → M6_{24}Locus(M5_{25}, Ay) → M6_{25}Locus(M5_{26}, Ay) → M6_{26}Locus(M5_{27}, Ay) → M6_{27}Locus(M5_{28}, Ay) → M6_{28}Locus(M5_{29}, Ay) → M6_{29}Locus(M5_{30}, Ay) → M6_{30}Locus(M5_{31}, Ay) → M6_{31}Locus(M5_{32}, Ay) → M6_{32}Locus(M5_{33}, Ay) → M6_{33}Locus(M5_{34}, Ay) → M6_{34}Locus(M5_{35}, Ay) → M6_{35}Locus(M5_{36}, Ay) → M6_{36}Locus(M5_{37}, Ay) → M6_{37}Locus(M5_{38}, Ay) → M6_{38}Locus(M5_{39}, Ay) → M6_{39}Locus(M5_{40}, Ay) → M6_{40}Locus(M5_{41}, Ay) → M6_{41}Locus(M5_{42}, Ay) → M6_{42}Locus(M5_{43}, Ay) → M6_{43}Locus(M5_{44}, Ay) → M6_{44}Locus(M5_{45}, Ay) → M6_{45}Locus(M5_{46}, Ay) → M6_{46}Locus(M5_{47}, Ay) → M6_{47}Locus(M5_{48}, Ay) → M6_{48}Locus(M5_{49}, Ay) → M6_{49}Locus(M5_{50}, Ay) → M6_{50}Locus(M5_{51}, Ay) → M6_{51}Locus(M5_{52}, Ay) → M6_{52}Locus(M5_{53}, Ay) → M6_{53}Locus(M5_{54}, Ay) → M6_{54}Locus(M5_{55}, Ay) → M6_{55}Locus(M5_{56}, Ay) → M6_{56}Locus(M5_{57}, Ay) → M6_{57}Locus(M5_{58}, Ay) → M6_{58}Locus(M5_{59}, Ay) → M6_{59}Locus(M5_{60}, Ay) → M6_{60}Locus(M5_{61}, Ay) → M6_{61}Locus(M5_{62}, Ay) → M6_{62}Locus(M5_{63}, Ay) → M6_{63}Locus(M5_{64}, Ay) → M6_{64}Locus(M5_{65}, Ay) → M6_{65}Locus(M5_{66}, Ay) → M6_{66}Locus(M5_{67}, Ay) → M6_{67}Locus(M5_{68}, Ay) → M6_{68}Locus(M5_{69}, Ay) → M6_{69}Locus(M5_{70}, Ay) → M6_{70}Locus(M5_{71}, Ay) → M6_{71}Locus(M5_{72}, Ay) → M6_{72}Locus(M5_{73}, Ay) → M6_{73}Locus(M5_{74}, Ay) → M6_{74}Locus(M5_{75}, Ay) → M6_{75}Locus(M5_{76}, Ay) → M6_{76}Locus(M5_{77}, Ay) → M6_{77}Locus(M5_{78}, Ay) → M6_{78}Locus(M5_{79}, Ay) → M6_{79}Locus(M5_{80}, Ay) → M6_{80}Locus(M5_{81}, Ay) → M6_{81}Locus(M5_{82}, Ay) → M6_{82}Locus(M5_{83}, Ay) → M6_{83}Locus(M5_{84}, Ay) → M6_{84}Locus(M5_{85}, Ay) → M6_{85}Locus(M5_{86}, Ay) → M6_{86}Locus(M5_{87}, Ay) → M6_{87}Locus(M5_{88}, Ay) → M6_{88}Locus(M5_{89}, Ay) → M6_{89}Locus(M5_{90}, Ay) → M6_{90}Locus(M5_{91}, Ay) → M6_{91}Locus(M5_{92}, Ay) → M6_{92}Locus(M5_{93}, Ay) → M6_{93}Locus(M5_{94}, Ay) → M6_{94}Locus(M5_{95}, Ay) → M6_{95}Locus(M5_{96}, Ay) → M6_{96}Locus(M5_{97}, Ay) → M6_{97}Locus(M5_{98}, Ay) → M6_{98}Locus(M5_{99}, Ay) → M6_{99}Locus(M5_{100}, Ay) → M6_{100}Locus(M5_{101}, Ay) → M6_{101}Locus(M5_{102}, Ay) → M6_{102}Locus(M5_{103}, Ay) → M6_{103}Locus(M5_{104}, Ay) → M6_{104}Locus(M5_{105}, Ay) → M6_{105}Locus(M5_{106}, Ay) → M6_{106}Locus(M5_{107}, Ay) → M6_{107}Locus(M5_{108}, Ay) → M6_{108}Locus(M5_{109}, Ay) → M6_{109}Locus(M5_{110}, Ay) → M6_{110}Locus(M5_{111}, Ay) → M6_{111}Locus(M5_{112}, Ay) → M6_{112}Locus(M5_{113}, Ay) → M6_{113}Locus(M5_{114}, Ay) → M6_{114}Locus(M5_{115}, Ay) → M6_{115}Locus(M5_{116}, Ay) → M6_{116}Locus(M5_{117}, Ay) → M6_{117}Locus(M5_{118}, Ay) → M6_{118}Locus(M5_{119}, Ay) → M6_{119}Locus(M5_{120}, Ay) → M6_{120}Locus(M5_{121}, Ay) → M6_{121}Locus(M5_{122}, Ay) → M6_{122}Locus(M5_{123}, Ay) → M6_{123}Locus(M5_{124}, Ay) → M6_{124}Locus(M5_{125}, Ay) → M6_{125}Locus(M5_{126}, Ay) → M6_{126}Locus(M5_{127}, Ay) → M6_{127}Locus(M5_{128}, Ay) → M6_{128}Locus(M5_{129}, Ay) → M6_{129}Locus(M5_{130}, Ay) → M6_{130}Locus(M5_{131}, Ay) → M6_{131}Locus(M5_{132}, Ay) → M6_{132}Locus(M5_{133}, Ay) → M6_{133}Locus(M5_{134}, Ay) → M6_{134}Locus(M5_{135}, Ay) → M6_{135}Locus(M5_{136}, Ay) → M6_{136}Locus(M5_{137}, Ay) → M6_{137}Locus(M5_{138}, Ay) → M6_{138}Locus(M5_{139}, Ay) → M6_{139}Locus(M5_{140}, Ay) → M6_{140}Locus(M5_{141}, Ay) → M6_{141}Locus(M5_{142}, Ay) → M6_{142}Locus(M5_{143}, Ay) → M6_{143}Locus(M5_{144}, Ay) → M6_{144}Locus(M5_{145}, Ay) → M6_{145}Locus(M5_{146}, Ay) → M6_{146}Locus(M5_{147}, Ay) → M6_{147}Locus(M5_{148}, Ay) → M6_{148}Locus(M5_{149}, Ay) → M6_{149}Locus(M5_{150}, Ay) → M6_{150}Locus(M5_{151}, Ay) → M6_{151}Locus(M5_{152}, Ay) → M6_{152}Locus(M5_{153}, Ay) → M6_{153}Locus(M5_{154}, Ay) → M6_{154}Locus(M5_{155}, Ay) → M6_{155}Locus(M5_{156}, Ay) → M6_{156}Locus(M5_{157}, Ay) → M6_{157}Locus(M5_{158}, Ay) → M6_{158}Locus(M5_{159}, Ay) → M6_{159}Locus(M5_{160}, Ay) → M6_{160}Locus(M5_{161}, Ay) → M6_{161}Locus(M5_{162}, Ay) → M6_{162}Locus(M5_{163}, Ay) → M6_{163}Locus(M5_{164}, Ay) → M6_{164}Locus(M5_{165}, Ay) → M6_{165}Locus(M5_{166}, Ay) → M6_{166}Locus(M5_{167}, Ay) → M6_{167}Locus(M5_{168}, Ay) → M6_{168}Locus(M5_{169}, Ay) → M6_{169}Locus(M5_{170}, Ay) → M6_{170}Locus(M5_{171}, Ay) → M6_{171}Locus(M5_{172}, Ay) → M6_{172}Locus(M5_{173}, Ay) → M6_{173}Locus(M5_{174}, Ay) → M6_{174}Locus(M5_{175}, Ay) → M6_{175}Locus(M5_{176}, Ay) → M6_{176}Locus(M5_{177}, Ay) → M6_{177}Locus(M5_{178}, Ay) → M6_{178}Locus(M5_{179}, Ay) → M6_{179}Locus(M5_{180}, Ay) → M6_{180}Locus(M5_{181}, Ay) → M6_{181}Locus(M5_{182}, Ay) → M6_{182}Locus(M5_{183}, Ay) → M6_{183}Locus(M5_{184}, Ay) → M6_{184}Locus(M5_{185}, Ay) → M6_{185}Locus(M5_{186}, Ay) → M6_{186}Locus(M5_{187}, Ay) → M6_{187}Locus(M5_{188}, Ay) → M6_{188}Locus(M5_{189}, Ay) → M6_{189}Locus(M5_{190}, Ay) → M6_{190}Locus(M5_{191}, Ay) → M6_{191}Locus(M5_{192}, Ay) → M6_{192}Locus(M5_{193}, Ay) → M6_{193}Locus(M5_{194}, Ay) → M6_{194}Locus(M5_{195}, Ay) → M6_{195}Locus(M5_{196}, Ay) → M6_{196}Locus(M5_{197}, Ay) → M6_{197}Locus(M5_{198}, Ay) → M6_{198}Locus(M5_{199}, Ay) → M6_{199}Locus(M5_{200}, Ay) → M6_{200}Locus(M5_{201}, Ay) → M6_{201}
AI Drawing Prompt Reference
Create a 3D surface plot of a function z = f(x,y) with animated contour lines. The plot features a square base and four sides forming a cube frame. A central point on the base connects three rays representing the x, y, and z axes. The contour lines dynamically change around the surface, indicating the function's gradient. Below the surface, label the range x_min to x_max and include parameters for animation speed and step size.
The prompt above was compiled from the original drawing commands and is for reference only.