Draw functions on Plot3D












4












$begingroup$


I have a 2D function $f(x,z)$ which I render with Plot3D. In the plot, on top of the surface, I want to plot 1D functions at $f(0, z)$, $f(100, z)$ and $f(200, z)$.



So far I only have this:



um = 1;

Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]

mfx =
Function[{x, y, z}, Evaluate[D[Potential[1, (2 π)/(0.725 um ), 200 um, x, z], x]]];

Plot3D[Potential[1, (2 π)/(0.725 um ), 200 um, x, z],
{x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
PlotRange -> Full,
AxesLabel -> {x, z},
PlotPoints -> 50,
MeshFunctions -> {mfx},
Mesh -> {{0}},
MeshStyle -> {{Red}},
Boxed -> False,
Axes -> {True, False, False},
PlotStyle -> Cyan]


And I get this:



enter image description here



This only works for the $x = 0$ bit though.. how can I also add lines at $x = 100, 200$?










share|improve this question











$endgroup$

















    4












    $begingroup$


    I have a 2D function $f(x,z)$ which I render with Plot3D. In the plot, on top of the surface, I want to plot 1D functions at $f(0, z)$, $f(100, z)$ and $f(200, z)$.



    So far I only have this:



    um = 1;

    Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]

    mfx =
    Function[{x, y, z}, Evaluate[D[Potential[1, (2 π)/(0.725 um ), 200 um, x, z], x]]];

    Plot3D[Potential[1, (2 π)/(0.725 um ), 200 um, x, z],
    {x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
    PlotRange -> Full,
    AxesLabel -> {x, z},
    PlotPoints -> 50,
    MeshFunctions -> {mfx},
    Mesh -> {{0}},
    MeshStyle -> {{Red}},
    Boxed -> False,
    Axes -> {True, False, False},
    PlotStyle -> Cyan]


    And I get this:



    enter image description here



    This only works for the $x = 0$ bit though.. how can I also add lines at $x = 100, 200$?










    share|improve this question











    $endgroup$















      4












      4








      4





      $begingroup$


      I have a 2D function $f(x,z)$ which I render with Plot3D. In the plot, on top of the surface, I want to plot 1D functions at $f(0, z)$, $f(100, z)$ and $f(200, z)$.



      So far I only have this:



      um = 1;

      Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]

      mfx =
      Function[{x, y, z}, Evaluate[D[Potential[1, (2 π)/(0.725 um ), 200 um, x, z], x]]];

      Plot3D[Potential[1, (2 π)/(0.725 um ), 200 um, x, z],
      {x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
      PlotRange -> Full,
      AxesLabel -> {x, z},
      PlotPoints -> 50,
      MeshFunctions -> {mfx},
      Mesh -> {{0}},
      MeshStyle -> {{Red}},
      Boxed -> False,
      Axes -> {True, False, False},
      PlotStyle -> Cyan]


      And I get this:



      enter image description here



      This only works for the $x = 0$ bit though.. how can I also add lines at $x = 100, 200$?










      share|improve this question











      $endgroup$




      I have a 2D function $f(x,z)$ which I render with Plot3D. In the plot, on top of the surface, I want to plot 1D functions at $f(0, z)$, $f(100, z)$ and $f(200, z)$.



      So far I only have this:



      um = 1;

      Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]

      mfx =
      Function[{x, y, z}, Evaluate[D[Potential[1, (2 π)/(0.725 um ), 200 um, x, z], x]]];

      Plot3D[Potential[1, (2 π)/(0.725 um ), 200 um, x, z],
      {x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
      PlotRange -> Full,
      AxesLabel -> {x, z},
      PlotPoints -> 50,
      MeshFunctions -> {mfx},
      Mesh -> {{0}},
      MeshStyle -> {{Red}},
      Boxed -> False,
      Axes -> {True, False, False},
      PlotStyle -> Cyan]


      And I get this:



      enter image description here



      This only works for the $x = 0$ bit though.. how can I also add lines at $x = 100, 200$?







      plotting






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 22 at 23:50









      m_goldberg

      87.4k872198




      87.4k872198










      asked Jan 22 at 22:35









      SuperCiociaSuperCiocia

      612412




      612412






















          1 Answer
          1






          active

          oldest

          votes


















          6












          $begingroup$

          You have to indicate the Mesh as a List



          um = 1;
          Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]
          Plot3D[Potential[1, (2 π)/(0.725 um), 200 um, x, z],
          {x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
          PlotRange -> Full,
          AxesLabel -> {x, z}, PlotPoints -> 50,
          Mesh -> {{0, 100, 200}, {30}, {30}}, MeshStyle -> {{Red}},
          Boxed -> False, Axes -> {True, False, False}, PlotStyle -> Cyan]





          share|improve this answer











          $endgroup$













          • $begingroup$
            I have removed the definition of mfxsince it is not relevant to your solution.
            $endgroup$
            – m_goldberg
            Jan 22 at 23:55










          • $begingroup$
            I suggest MeshStyle -> {Directive[Red, AbsoluteThickness[4]]}. I think it make for a better looking plot.
            $endgroup$
            – m_goldberg
            Jan 23 at 0:02










          • $begingroup$
            adding option Ticks -> {{-500, 0, 100, 200, 500}, Automatic, Automatic}
            $endgroup$
            – Jerry
            Jan 23 at 13:12










          • $begingroup$
            And would you know how to change the colour each mesh line individally? I tried MeshStyle->{{Red, Blue, Green}}
            $endgroup$
            – SuperCiocia
            Jan 23 at 19:57











          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "387"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f190035%2fdraw-functions-on-plot3d%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          6












          $begingroup$

          You have to indicate the Mesh as a List



          um = 1;
          Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]
          Plot3D[Potential[1, (2 π)/(0.725 um), 200 um, x, z],
          {x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
          PlotRange -> Full,
          AxesLabel -> {x, z}, PlotPoints -> 50,
          Mesh -> {{0, 100, 200}, {30}, {30}}, MeshStyle -> {{Red}},
          Boxed -> False, Axes -> {True, False, False}, PlotStyle -> Cyan]





          share|improve this answer











          $endgroup$













          • $begingroup$
            I have removed the definition of mfxsince it is not relevant to your solution.
            $endgroup$
            – m_goldberg
            Jan 22 at 23:55










          • $begingroup$
            I suggest MeshStyle -> {Directive[Red, AbsoluteThickness[4]]}. I think it make for a better looking plot.
            $endgroup$
            – m_goldberg
            Jan 23 at 0:02










          • $begingroup$
            adding option Ticks -> {{-500, 0, 100, 200, 500}, Automatic, Automatic}
            $endgroup$
            – Jerry
            Jan 23 at 13:12










          • $begingroup$
            And would you know how to change the colour each mesh line individally? I tried MeshStyle->{{Red, Blue, Green}}
            $endgroup$
            – SuperCiocia
            Jan 23 at 19:57
















          6












          $begingroup$

          You have to indicate the Mesh as a List



          um = 1;
          Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]
          Plot3D[Potential[1, (2 π)/(0.725 um), 200 um, x, z],
          {x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
          PlotRange -> Full,
          AxesLabel -> {x, z}, PlotPoints -> 50,
          Mesh -> {{0, 100, 200}, {30}, {30}}, MeshStyle -> {{Red}},
          Boxed -> False, Axes -> {True, False, False}, PlotStyle -> Cyan]





          share|improve this answer











          $endgroup$













          • $begingroup$
            I have removed the definition of mfxsince it is not relevant to your solution.
            $endgroup$
            – m_goldberg
            Jan 22 at 23:55










          • $begingroup$
            I suggest MeshStyle -> {Directive[Red, AbsoluteThickness[4]]}. I think it make for a better looking plot.
            $endgroup$
            – m_goldberg
            Jan 23 at 0:02










          • $begingroup$
            adding option Ticks -> {{-500, 0, 100, 200, 500}, Automatic, Automatic}
            $endgroup$
            – Jerry
            Jan 23 at 13:12










          • $begingroup$
            And would you know how to change the colour each mesh line individally? I tried MeshStyle->{{Red, Blue, Green}}
            $endgroup$
            – SuperCiocia
            Jan 23 at 19:57














          6












          6








          6





          $begingroup$

          You have to indicate the Mesh as a List



          um = 1;
          Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]
          Plot3D[Potential[1, (2 π)/(0.725 um), 200 um, x, z],
          {x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
          PlotRange -> Full,
          AxesLabel -> {x, z}, PlotPoints -> 50,
          Mesh -> {{0, 100, 200}, {30}, {30}}, MeshStyle -> {{Red}},
          Boxed -> False, Axes -> {True, False, False}, PlotStyle -> Cyan]





          share|improve this answer











          $endgroup$



          You have to indicate the Mesh as a List



          um = 1;
          Potential[V0_, k_, w_, x_, z_] := V0*(Sin[k z]^2)*Exp[(-2 x^2)/w^2]
          Plot3D[Potential[1, (2 π)/(0.725 um), 200 um, x, z],
          {x, -500 um, 500 um}, {z, -1.1 um, 1.1 um},
          PlotRange -> Full,
          AxesLabel -> {x, z}, PlotPoints -> 50,
          Mesh -> {{0, 100, 200}, {30}, {30}}, MeshStyle -> {{Red}},
          Boxed -> False, Axes -> {True, False, False}, PlotStyle -> Cyan]






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jan 22 at 23:54









          m_goldberg

          87.4k872198




          87.4k872198










          answered Jan 22 at 22:41









          M. VerueteM. Veruete

          1013




          1013












          • $begingroup$
            I have removed the definition of mfxsince it is not relevant to your solution.
            $endgroup$
            – m_goldberg
            Jan 22 at 23:55










          • $begingroup$
            I suggest MeshStyle -> {Directive[Red, AbsoluteThickness[4]]}. I think it make for a better looking plot.
            $endgroup$
            – m_goldberg
            Jan 23 at 0:02










          • $begingroup$
            adding option Ticks -> {{-500, 0, 100, 200, 500}, Automatic, Automatic}
            $endgroup$
            – Jerry
            Jan 23 at 13:12










          • $begingroup$
            And would you know how to change the colour each mesh line individally? I tried MeshStyle->{{Red, Blue, Green}}
            $endgroup$
            – SuperCiocia
            Jan 23 at 19:57


















          • $begingroup$
            I have removed the definition of mfxsince it is not relevant to your solution.
            $endgroup$
            – m_goldberg
            Jan 22 at 23:55










          • $begingroup$
            I suggest MeshStyle -> {Directive[Red, AbsoluteThickness[4]]}. I think it make for a better looking plot.
            $endgroup$
            – m_goldberg
            Jan 23 at 0:02










          • $begingroup$
            adding option Ticks -> {{-500, 0, 100, 200, 500}, Automatic, Automatic}
            $endgroup$
            – Jerry
            Jan 23 at 13:12










          • $begingroup$
            And would you know how to change the colour each mesh line individally? I tried MeshStyle->{{Red, Blue, Green}}
            $endgroup$
            – SuperCiocia
            Jan 23 at 19:57
















          $begingroup$
          I have removed the definition of mfxsince it is not relevant to your solution.
          $endgroup$
          – m_goldberg
          Jan 22 at 23:55




          $begingroup$
          I have removed the definition of mfxsince it is not relevant to your solution.
          $endgroup$
          – m_goldberg
          Jan 22 at 23:55












          $begingroup$
          I suggest MeshStyle -> {Directive[Red, AbsoluteThickness[4]]}. I think it make for a better looking plot.
          $endgroup$
          – m_goldberg
          Jan 23 at 0:02




          $begingroup$
          I suggest MeshStyle -> {Directive[Red, AbsoluteThickness[4]]}. I think it make for a better looking plot.
          $endgroup$
          – m_goldberg
          Jan 23 at 0:02












          $begingroup$
          adding option Ticks -> {{-500, 0, 100, 200, 500}, Automatic, Automatic}
          $endgroup$
          – Jerry
          Jan 23 at 13:12




          $begingroup$
          adding option Ticks -> {{-500, 0, 100, 200, 500}, Automatic, Automatic}
          $endgroup$
          – Jerry
          Jan 23 at 13:12












          $begingroup$
          And would you know how to change the colour each mesh line individally? I tried MeshStyle->{{Red, Blue, Green}}
          $endgroup$
          – SuperCiocia
          Jan 23 at 19:57




          $begingroup$
          And would you know how to change the colour each mesh line individally? I tried MeshStyle->{{Red, Blue, Green}}
          $endgroup$
          – SuperCiocia
          Jan 23 at 19:57


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Mathematica Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f190035%2fdraw-functions-on-plot3d%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          How to fix TextFormField cause rebuild widget in Flutter

          Npm cannot find a required file even through it is in the searched directory