3D Plotter for Implicit Functions by Roman Chijner (2)
Loading the math board and drawing, please wait…
This example demonstrates how to graph implicit functions in 3D using GeoGebra. Key math concepts include implicit functions, 3D coordinate systems, and function visualization. Construction highlights involve commands like Textfield, Element, If, Join, and Sequence. Suitable for high school students and math enthusiasts exploring the graphical properties of implicit functions.
GeoGebra Commands & Parameters
Textfield(x_{min}) → Textfeld1Textfield(y_{min}) → Textfeld2Textfield(z_{min}) → Textfeld3Textfield(x_{max}) → Textfeld4Textfield(y_{max}) → Textfeld5Textfield(z_{max}) → Textfeld6Textfield(r_x) → Textfeld7Textfield(r_y) → Textfeld8Textfield(r_z) → Textfeld9Element(If[v0, lFa, lFb], Funktion) → gIf(v0, Element[lTa, Funktion], Element[lTb, Funktion]) → ITabTextfield(Nn) → Textfeld10Textfield(Funktion) → Textfeld11Textfield(gga) → Textfeld12Textfield(ggb) → Textfeld13Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{1}, s], j]), j, 1, Length[Element[M5y_{1}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{1}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{1}, s]]], s, 1, Nn + 1]]}) → M5yz_{1}Sequence((((-4) * r_x), (x(Element[M5yz_{1}, s]) * r_y), (y(Element[M5yz_{1}, s]) * r_z)), s, 1, Length[M5yz_{1}]) → M52_{1}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{2}, s], j]), j, 1, Length[Element[M5y_{2}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{2}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{2}, s]]], s, 1, Nn + 1]]}) → M5yz_{2}Sequence((((-3.7333333333333334) * r_x), (x(Element[M5yz_{2}, s]) * r_y), (y(Element[M5yz_{2}, s]) * r_z)), s, 1, Length[M5yz_{2}]) → M52_{2}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{3}, s], j]), j, 1, Length[Element[M5y_{3}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{3}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{3}, s]]], s, 1, Nn + 1]]}) → M5yz_{3}Sequence((((-3.466666666666667) * r_x), (x(Element[M5yz_{3}, s]) * r_y), (y(Element[M5yz_{3}, s]) * r_z)), s, 1, Length[M5yz_{3}]) → M52_{3}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{4}, s], j]), j, 1, Length[Element[M5y_{4}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{4}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{4}, s]]], s, 1, Nn + 1]]}) → M5yz_{4}Sequence((((-3.2) * r_x), (x(Element[M5yz_{4}, s]) * r_y), (y(Element[M5yz_{4}, s]) * r_z)), s, 1, Length[M5yz_{4}]) → M52_{4}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{5}, s], j]), j, 1, Length[Element[M5y_{5}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{5}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{5}, s]]], s, 1, Nn + 1]]}) → M5yz_{5}Sequence((((-2.9333333333333336) * r_x), (x(Element[M5yz_{5}, s]) * r_y), (y(Element[M5yz_{5}, s]) * r_z)), s, 1, Length[M5yz_{5}]) → M52_{5}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{6}, s], j]), j, 1, Length[Element[M5y_{6}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{6}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{6}, s]]], s, 1, Nn + 1]]}) → M5yz_{6}Sequence((((-2.666666666666667) * r_x), (x(Element[M5yz_{6}, s]) * r_y), (y(Element[M5yz_{6}, s]) * r_z)), s, 1, Length[M5yz_{6}]) → M52_{6}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{7}, s], j]), j, 1, Length[Element[M5y_{7}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{7}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{7}, s]]], s, 1, Nn + 1]]}) → M5yz_{7}Sequence((((-2.4) * r_x), (x(Element[M5yz_{7}, s]) * r_y), (y(Element[M5yz_{7}, s]) * r_z)), s, 1, Length[M5yz_{7}]) → M52_{7}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{8}, s], j]), j, 1, Length[Element[M5y_{8}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{8}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{8}, s]]], s, 1, Nn + 1]]}) → M5yz_{8}Sequence((((-2.1333333333333333) * r_x), (x(Element[M5yz_{8}, s]) * r_y), (y(Element[M5yz_{8}, s]) * r_z)), s, 1, Length[M5yz_{8}]) → M52_{8}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{9}, s], j]), j, 1, Length[Element[M5y_{9}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{9}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{9}, s]]], s, 1, Nn + 1]]}) → M5yz_{9}Sequence((((-1.8666666666666667) * r_x), (x(Element[M5yz_{9}, s]) * r_y), (y(Element[M5yz_{9}, s]) * r_z)), s, 1, Length[M5yz_{9}]) → M52_{9}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{10}, s], j]), j, 1, Length[Element[M5y_{10}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{10}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{10}, s]]], s, 1, Nn + 1]]}) → M5yz_{10}Sequence((((-1.6) * r_x), (x(Element[M5yz_{10}, s]) * r_y), (y(Element[M5yz_{10}, s]) * r_z)), s, 1, Length[M5yz_{10}]) → M52_{10}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{11}, s], j]), j, 1, Length[Element[M5y_{11}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{11}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{11}, s]]], s, 1, Nn + 1]]}) → M5yz_{11}Sequence((((-1.3333333333333335) * r_x), (x(Element[M5yz_{11}, s]) * r_y), (y(Element[M5yz_{11}, s]) * r_z)), s, 1, Length[M5yz_{11}]) → M52_{11}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{12}, s], j]), j, 1, Length[Element[M5y_{12}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{12}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{12}, s]]], s, 1, Nn + 1]]}) → M5yz_{12}Sequence((((-1.0666666666666669) * r_x), (x(Element[M5yz_{12}, s]) * r_y), (y(Element[M5yz_{12}, s]) * r_z)), s, 1, Length[M5yz_{12}]) → M52_{12}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{13}, s], j]), j, 1, Length[Element[M5y_{13}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{13}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{13}, s]]], s, 1, Nn + 1]]}) → M5yz_{13}Sequence((((-0.7999999999999998) * r_x), (x(Element[M5yz_{13}, s]) * r_y), (y(Element[M5yz_{13}, s]) * r_z)), s, 1, Length[M5yz_{13}]) → M52_{13}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{14}, s], j]), j, 1, Length[Element[M5y_{14}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{14}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{14}, s]]], s, 1, Nn + 1]]}) → M5yz_{14}Sequence((((-0.5333333333333332) * r_x), (x(Element[M5yz_{14}, s]) * r_y), (y(Element[M5yz_{14}, s]) * r_z)), s, 1, Length[M5yz_{14}]) → M52_{14}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{15}, s], j]), j, 1, Length[Element[M5y_{15}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{15}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{15}, s]]], s, 1, Nn + 1]]}) → M5yz_{15}Sequence((((-0.2666666666666666) * r_x), (x(Element[M5yz_{15}, s]) * r_y), (y(Element[M5yz_{15}, s]) * r_z)), s, 1, Length[M5yz_{15}]) → M52_{15}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{16}, s], j]), j, 1, Length[Element[M5y_{16}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{16}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{16}, s]]], s, 1, Nn + 1]]}) → M5yz_{16}Sequence(((0 * r_x), (x(Element[M5yz_{16}, s]) * r_y), (y(Element[M5yz_{16}, s]) * r_z)), s, 1, Length[M5yz_{16}]) → M52_{16}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{17}, s], j]), j, 1, Length[Element[M5y_{17}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{17}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{17}, s]]], s, 1, Nn + 1]]}) → M5yz_{17}Sequence(((0.2666666666666666 * r_x), (x(Element[M5yz_{17}, s]) * r_y), (y(Element[M5yz_{17}, s]) * r_z)), s, 1, Length[M5yz_{17}]) → M52_{17}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{18}, s], j]), j, 1, Length[Element[M5y_{18}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{18}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{18}, s]]], s, 1, Nn + 1]]}) → M5yz_{18}Sequence(((0.5333333333333332 * r_x), (x(Element[M5yz_{18}, s]) * r_y), (y(Element[M5yz_{18}, s]) * r_z)), s, 1, Length[M5yz_{18}]) → M52_{18}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{19}, s], j]), j, 1, Length[Element[M5y_{19}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{19}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{19}, s]]], s, 1, Nn + 1]]}) → M5yz_{19}Sequence(((0.7999999999999998 * r_x), (x(Element[M5yz_{19}, s]) * r_y), (y(Element[M5yz_{19}, s]) * r_z)), s, 1, Length[M5yz_{19}]) → M52_{19}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{20}, s], j]), j, 1, Length[Element[M5y_{20}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{20}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{20}, s]]], s, 1, Nn + 1]]}) → M5yz_{20}Sequence(((1.0666666666666664 * r_x), (x(Element[M5yz_{20}, s]) * r_y), (y(Element[M5yz_{20}, s]) * r_z)), s, 1, Length[M5yz_{20}]) → M52_{20}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{21}, s], j]), j, 1, Length[Element[M5y_{21}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{21}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{21}, s]]], s, 1, Nn + 1]]}) → M5yz_{21}Sequence(((1.333333333333333 * r_x), (x(Element[M5yz_{21}, s]) * r_y), (y(Element[M5yz_{21}, s]) * r_z)), s, 1, Length[M5yz_{21}]) → M52_{21}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{22}, s], j]), j, 1, Length[Element[M5y_{22}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{22}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{22}, s]]], s, 1, Nn + 1]]}) → M5yz_{22}Sequence(((1.5999999999999996 * r_x), (x(Element[M5yz_{22}, s]) * r_y), (y(Element[M5yz_{22}, s]) * r_z)), s, 1, Length[M5yz_{22}]) → M52_{22}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{23}, s], j]), j, 1, Length[Element[M5y_{23}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{23}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{23}, s]]], s, 1, Nn + 1]]}) → M5yz_{23}Sequence(((1.8666666666666663 * r_x), (x(Element[M5yz_{23}, s]) * r_y), (y(Element[M5yz_{23}, s]) * r_z)), s, 1, Length[M5yz_{23}]) → M52_{23}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{24}, s], j]), j, 1, Length[Element[M5y_{24}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{24}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{24}, s]]], s, 1, Nn + 1]]}) → M5yz_{24}Sequence(((2.133333333333333 * r_x), (x(Element[M5yz_{24}, s]) * r_y), (y(Element[M5yz_{24}, s]) * r_z)), s, 1, Length[M5yz_{24}]) → M52_{24}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{25}, s], j]), j, 1, Length[Element[M5y_{25}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{25}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{25}, s]]], s, 1, Nn + 1]]}) → M5yz_{25}Sequence(((2.4000000000000004 * r_x), (x(Element[M5yz_{25}, s]) * r_y), (y(Element[M5yz_{25}, s]) * r_z)), s, 1, Length[M5yz_{25}]) → M52_{25}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{26}, s], j]), j, 1, Length[Element[M5y_{26}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{26}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{26}, s]]], s, 1, Nn + 1]]}) → M5yz_{26}Sequence(((2.666666666666667 * r_x), (x(Element[M5yz_{26}, s]) * r_y), (y(Element[M5yz_{26}, s]) * r_z)), s, 1, Length[M5yz_{26}]) → M52_{26}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{27}, s], j]), j, 1, Length[Element[M5y_{27}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{27}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{27}, s]]], s, 1, Nn + 1]]}) → M5yz_{27}Sequence(((2.9333333333333336 * r_x), (x(Element[M5yz_{27}, s]) * r_y), (y(Element[M5yz_{27}, s]) * r_z)), s, 1, Length[M5yz_{27}]) → M52_{27}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{28}, s], j]), j, 1, Length[Element[M5y_{28}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{28}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{28}, s]]], s, 1, Nn + 1]]}) → M5yz_{28}Sequence(((3.2 * r_x), (x(Element[M5yz_{28}, s]) * r_y), (y(Element[M5yz_{28}, s]) * r_z)), s, 1, Length[M5yz_{28}]) → M52_{28}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{29}, s], j]), j, 1, Length[Element[M5y_{29}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{29}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{29}, s]]], s, 1, Nn + 1]]}) → M5yz_{29}Sequence(((3.466666666666667 * r_x), (x(Element[M5yz_{29}, s]) * r_y), (y(Element[M5yz_{29}, s]) * r_z)), s, 1, Length[M5yz_{29}]) → M52_{29}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{30}, s], j]), j, 1, Length[Element[M5y_{30}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{30}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{30}, s]]], s, 1, Nn + 1]]}) → M5yz_{30}Sequence(((3.7333333333333334 * r_x), (x(Element[M5yz_{30}, s]) * r_y), (y(Element[M5yz_{30}, s]) * r_z)), s, 1, Length[M5yz_{30}]) → M52_{30}Join({Join[Sequence[Sequence[(y_{min} + (dy2 * (s - 1)), Element[Element[M5y_{31}, s], j]), j, 1, Length[Element[M5y_{31}, s]]], s, 1, Nn + 1]], Join[Sequence[Sequence[(Element[Element[M5z_{31}, s], j], z_{min} + (dz2 * (s - 1))), j, 1, Length[Element[M5z_{31}, s]]], s, 1, Nn + 1]]}) → M5yz_{31}Sequence(((4 * r_x), (x(Element[M5yz_{31}, s]) * r_y), (y(Element[M5yz_{31}, s]) * r_z)), s, 1, Length[M5yz_{31}]) → M52_{31}
AI Drawing Prompt Reference
Create a 3D plot of an implicit function, including text fields for inputting the minimum and maximum values of x, y, and z, as well as three text fields for rotation radii. Based on the input implicit function expression, generate multiple sequence point sets and plot the function in 3D space. First, determine the range of the coordinate system, then generate point sets according to the function expression, and finally combine these point sets to form a 3D surface.
The prompt above was compiled from the original drawing commands and is for reference only.