Wolfram Technology Guide: Dynamic Graphical Input  previous | next 
Create Visual Language Syntaxes
Mathematica provides the underlying functionality necessary to create arbitrarily sophisticated visual language syntaxes.
In[1]:=

Click for copyable input
RevolutionPlot3D[\!\(\*

GraphicsBox[{{{{{

{RGBColor[1, 0.7, 1], 

          PolygonBox[{{-126., -7.5}, {-118., 0}, {-103., 

             0}, {-95., -7.5}, {-103., -15.}, {-118., -15.}}]}, 

{GrayLevel[0], InsetBox[

RowBox[{"-", "1"}], {-110.5, -7.5}]}}, {{{

{RGBColor[1, 0.7, 1], 

            PolygonBox[{{-213., -27.5}, {-205., -20.}, {-198., -20.}, \

{-190., -27.5}, {-198., -35.}, {-205., -35.}}]}, 

{GrayLevel[0], InsetBox["3", {-201.5, -27.5}]}}, {

{RGBColor[1, 0.7, 1], 

            PolygonBox[{{-225., -54.}, {-217., -40.}, {-198., -40.}, \

{-190., -54.}, {-198., -68.}, {-217., -68.}}]}, 

{GrayLevel[0], InsetBox[

RowBox[{"-", 

FractionBox["1", "2"]}], {-207.5, -54.}]}}}, {

          LineBox[{{-190., -27.5}, {-178., -27.5}, {-152., -41.5}, \

{-140., -41.5}}], 

          LineBox[{{-190., -54.}, {-178., -54.}, {-152., -46.5}, \

{-140., -46.5}}]}, {

{RGBColor[1, 0.7, 0.4], 

           PolygonBox[{{-140., -54.5}, {-140., -33.5}, {-95., -33.5}, \

{-95., -54.5}, {-140., -54.5}}]}, 

{GrayLevel[0], InsetBox["Power", {-117.5, -44.}]}}}, {{{{{{

{RGBColor[1, 0.7, 1], 

               PolygonBox[{{-410., -80.5}, {-402., -73.}, {-395., \

-73.}, {-387., -80.5}, {-395., -88.}, {-402., -88.}}]}, 

{GrayLevel[0], InsetBox["3", {-398.5, -80.5}]}}, {

{RGBColor[1, 0.7, 1], 

               PolygonBox[{{-422., -107.}, {-414., -93.}, {-395., \

-93.}, {-387., -107.}, {-395., -121.}, {-414., -121.}}]}, 

{GrayLevel[0], InsetBox[

RowBox[{"-", 

FractionBox["1", "2"]}], {-404.5, -107.}]}}}, {

             LineBox[{{-387., -80.5}, {-375., -80.5}, {-349., -94.5}, \

{-337., -94.5}}], 

             LineBox[{{-387., -107.}, {-375., -107.}, {-349., -99.5}, \

{-337., -99.5}}]}, {

{RGBColor[1, 0.7, 0.4], 

              PolygonBox[{{-337., -107.5}, {-337., -86.5}, {-292., \

-86.5}, {-292., -107.5}, {-337., -107.5}}]}, 

{GrayLevel[0], InsetBox["Power", {-314.5, -97.}]}}}, {{{

{RGBColor[1, 0.7, 1], 

               PolygonBox[{{-403., -133.5}, {-395., -126.}, {-388., \

-126.}, {-380., -133.5}, {-388., -141.}, {-395., -141.}}]}, 

{GrayLevel[0], InsetBox["1", {-391.5, -133.5}]}}, {{{

{RGBColor[1, 0.7, 1], 

                 PolygonBox[{{-498., -153.5}, {-490., -146.}, {-483., \

-146.}, {-475., -153.5}, {-483., -161.}, {-490., -161.}}]}, 

{GrayLevel[0], InsetBox["2", {-486.5, -153.5}]}}, {

{RGBColor[1, 0.7, 1], 

                 PolygonBox[{{-498., -173.5}, {-490., -166.}, {-483., \

-166.}, {-475., -173.5}, {-483., -181.}, {-490., -181.}}]}, 

{GrayLevel[0], InsetBox["x", {-486.5, -173.5}]}}}, {

               LineBox[{{-475., -153.5}, {-463., -153.5}, {-437., \

-161.}, {-425., -161.}}], 

               LineBox[{{-475., -173.5}, {-463., -173.5}, {-437., \

-166.}, {-425., -166.}}]}, {

{RGBColor[1, 0.7, 0.4], 

                PolygonBox[{{-425., -174.}, {-425., -153.}, {-380., \

-153.}, {-380., -174.}, {-425., -174.}}]}, 

{GrayLevel[0], InsetBox["Times", {-402.5, -163.5}]}}}}, {

             LineBox[{{-380., -133.5}, {-368., -133.5}, {-342., \

-151.}, {-330., -151.}}], 

             LineBox[{{-380., -163.5}, {-368., -163.5}, {-342., \

-156.}, {-330., -156.}}]}, {

{RGBColor[1, 0.7, 0.4], 

              PolygonBox[{{-330., -164.}, {-330., -143.}, {-292., \

-143.}, {-292., -164.}, {-330., -164.}}]}, 

{GrayLevel[0], InsetBox["Plus", {-311., -153.5}]}}}}, {

           LineBox[{{-292., -97.}, {-280., -97.}, {-254., -124.5}, \

{-242., -124.5}}], 

           LineBox[{{-292., -153.5}, {-280., -153.5}, {-254., \

-129.5}, {-242., -129.5}}]}, {

{RGBColor[1, 0.7, 0.4], 

            PolygonBox[{{-242., -137.5}, {-242., -116.5}, {-197., \

-116.5}, {-197., -137.5}, {-242., -137.5}}]}, 

{GrayLevel[0], InsetBox["Times", {-219.5, -127.}]}}}, 

         LineBox[{{-197., -127.}, {-185., -127.}, {-159., -127.}, \

{-147., -127.}}], {

{RGBColor[1, 0.7, 0.4], 

           PolygonBox[{{-147., -136.}, {-147., -118.}, {-95., -118.}, \

{-95., -136.}, {-147., -136.}}]}, 

{GrayLevel[0], InsetBox["ArcTan", {-121., -127.}]}}}}, {

        LineBox[{{-95., -7.5}, {-83., -7.5}, {-57., -85.5}, {-45., \

-85.5}}], 

        LineBox[{{-95., -44.}, {-83., -44.}, {-57., -90.5}, {-45., \

-90.5}}], 

        LineBox[{{-95., -127.}, {-83., -127.}, {-57., -95.5}, {-45., \

-95.5}}]}, {

{RGBColor[1, 0.7, 0.4], 

         PolygonBox[{{-45., -103.5}, {-45., -77.5}, {0., -77.5}, {

          0., -103.5}, {-45., -103.5}}]}, 

{GrayLevel[0], InsetBox["Times", {-22.5, -90.5}]}}}, {{{

{RGBColor[1, 0.7, 1], 

          PolygonBox[{{-123., -200.}, {-115., -186.}, {-103., -186.}, \

{-95., -200.}, {-103., -214.}, {-115., -214.}}]}, 

{GrayLevel[0], InsetBox[

FractionBox["1", "3"], {-109., -200.}]}}, {{{{

{RGBColor[1, 0.7, 1], 

             PolygonBox[{{-295., -226.5}, {-287., -219.}, {-272., \

-219.}, {-264., -226.5}, {-272., -234.}, {-287., -234.}}]}, 

{GrayLevel[0], InsetBox[

RowBox[{"-", "1"}], {-279.5, -226.5}]}}, {

{RGBColor[1, 0.7, 1], 

             PolygonBox[{{-287., -246.5}, {-279., -239.}, {-272., \

-239.}, {-264., -246.5}, {-272., -254.}, {-279., -254.}}]}, 

{GrayLevel[0], InsetBox["x", {-275.5, -246.5}]}}}, {

           LineBox[{{-264., -226.5}, {-252., -226.5}, {-226., -234.}, \

{-214., -234.}}], 

           LineBox[{{-264., -246.5}, {-252., -246.5}, {-226., -239.}, \

{-214., -239.}}]}, {

{RGBColor[1, 0.7, 0.4], 

            PolygonBox[{{-214., -247.}, {-214., -226.}, {-176., \

-226.}, {-176., -247.}, {-214., -247.}}]}, 

{GrayLevel[0], InsetBox["Plus", {-195., -236.5}]}}}, 

         LineBox[{{-176., -236.5}, {-164., -236.5}, {-138., -236.5}, \

{-126., -236.5}}], {

{RGBColor[1, 0.7, 0.4], 

           PolygonBox[{{-126., -245.5}, {-126., -227.5}, {-95., \

-227.5}, {-95., -245.5}, {-126., -245.5}}]}, 

{GrayLevel[0], InsetBox["Log", {-110.5, -236.5}]}}}}, {

        LineBox[{{-95., -200.}, {-83., -200.}, {-57., -217.5}, {-45., \

-217.5}}], 

        LineBox[{{-95., -236.5}, {-83., -236.5}, {-57., -222.5}, \

{-45., -222.5}}]}, {

{RGBColor[1, 0.7, 0.4], 

         PolygonBox[{{-45., -230.5}, {-45., -209.5}, {0., -209.5}, {

          0., -230.5}, {-45., -230.5}}]}, 

{GrayLevel[0], InsetBox["Times", {-22.5, -220.}]}}}, {{{

{RGBColor[1, 0.7, 1], 

          PolygonBox[{{-130., -273.}, {-122., -259.}, {-103., -259.}, \

{-95., -273.}, {-103., -287.}, {-122., -287.}}]}, 

{GrayLevel[0], InsetBox[

RowBox[{"-", 

FractionBox["1", "6"]}], {-112.5, -273.}]}}, {{{{

{RGBColor[1, 0.7, 1], 

             PolygonBox[{{-287., -299.5}, {-279., -292.}, {-272., \

-292.}, {-264., -299.5}, {-272., -307.}, {-279., -307.}}]}, 

{GrayLevel[0], InsetBox["1", {-275.5, -299.5}]}}, {

{RGBColor[1, 0.7, 1], 

             PolygonBox[{{-287., -319.5}, {-279., -312.}, {-272., \

-312.}, {-264., -319.5}, {-272., -327.}, {-279., -327.}}]}, 

{GrayLevel[0], InsetBox["x", {-275.5, -319.5}]}}, {{{

{RGBColor[1, 0.7, 1], 

               PolygonBox[{{-382., -339.5}, {-374., -332.}, {-367., \

-332.}, {-359., -339.5}, {-367., -347.}, {-374., -347.}}]}, 

{GrayLevel[0], InsetBox["x", {-370.5, -339.5}]}}, {

{RGBColor[1, 0.7, 1], 

               PolygonBox[{{-382., -359.5}, {-374., -352.}, {-367., \

-352.}, {-359., -359.5}, {-367., -367.}, {-374., -367.}}]}, 

{GrayLevel[0], InsetBox["2", {-370.5, -359.5}]}}}, {

             LineBox[{{-359., -339.5}, {-347., -339.5}, {-321., -347.}

              , {-309., -347.}}], 

             LineBox[{{-359., -359.5}, {-347., -359.5}, {-321., \

-352.}, {-309., -352.}}]}, {

{RGBColor[1, 0.7, 0.4], 

              PolygonBox[{{-309., -360.}, {-309., -339.}, {-264., \

-339.}, {-264., -360.}, {-309., -360.}}]}, 

{GrayLevel[0], InsetBox["Power", {-286.5, -349.5}]}}}}, {

           LineBox[{{-264., -299.5}, {-252., -299.5}, {-226., \

-324.5}, {-214., -324.5}}], 

           LineBox[{{-264., -319.5}, {-252., -319.5}, {-226., \

-329.5}, {-214., -329.5}}], 

           LineBox[{{-264., -349.5}, {-252., -349.5}, {-226., \

-334.5}, {-214., -334.5}}]}, {

{RGBColor[1, 0.7, 0.4], 

            PolygonBox[{{-214., -342.5}, {-214., -316.5}, {-176., \

-316.5}, {-176., -342.5}, {-214., -342.5}}]}, 

{GrayLevel[0], InsetBox["Plus", {-195., -329.5}]}}}, 

         LineBox[{{-176., -329.5}, {-164., -329.5}, {-138., -329.5}, \

{-126., -329.5}}], {

{RGBColor[1, 0.7, 0.4], 

           PolygonBox[{{-126., -338.5}, {-126., -320.5}, {-95., \

-320.5}, {-95., -338.5}, {-126., -338.5}}]}, 

{GrayLevel[0], InsetBox["Log", {-110.5, -329.5}]}}}}, {

        LineBox[{{-95., -273.}, {-83., -273.}, {-57., -310.5}, {-45., \

-310.5}}], 

        LineBox[{{-95., -329.5}, {-83., -329.5}, {-57., -315.5}, \

{-45., -315.5}}]}, {

{RGBColor[1, 0.7, 0.4], 

         PolygonBox[{{-45., -323.5}, {-45., -302.5}, {0., -302.5}, {

          0., -323.5}, {-45., -323.5}}]}, 

{GrayLevel[0], InsetBox["Times", {-22.5, -313.}]}}}}, {

      LineBox[{{0, -90.5}, {12, -90.5}, {38, -178.5}, {50, -178.5}}], 

      LineBox[{{0, -220.}, {12, -220.}, {38, -183.5}, {50, -183.5}}], 

      LineBox[{{0, -313.}, {12, -313.}, {38, -188.5}, {

        50, -188.5}}]}, {

{RGBColor[1, 0.7, 0.4], 

       PolygonBox[{{50., -196.5}, {50., -170.5}, {88., -170.5}, {

        88., -196.5}, {50., -196.5}}]}, 

{GrayLevel[0], InsetBox["Plus", {69., -183.5}]}}},

AspectRatio->Automatic,

ImageSize->{469., 277.},

PlotRange->{{-498., 88.}, {-367., 0}}]\), {x, -3, 3}]
Out[1]=