How to plot a crossection of a ParametricPlot3D?Cross Sections or slices of 3d figures - MathematicaMore on combining 2d and 3d plotsHow to maintain a smooth surface in CDFs while playing?Manipulate wrapping ParametricPlot3D - part spec longer than depth of object?Excluding a Region in ParametricPlot3DHow to display MeshRegion without verticesHow to plot points using ParametricPlot3D?How to compute the boundary of a group of ellipse efficiently?Region traced by the endpoints of all vectors given by a parametric expressionSpherical plot with ParametricPlot3dTrouble with discrete MeshRegions: Integrating over plane slices

Host telling me to cancel my booking in exchange for a discount?

Do Dragonborns get unarmored defense?

Book in which the "mountain" in the distance was a hole in the flat world

Xcode 10.3 Installation

Considerations when providing money to one child now, and the other later?

How can Kazakhstan perform MITM attacks on all HTTPS traffic?

How does mathematics work?

Why are Oscar, India, and X-Ray (O, I, and X) not used as taxiway identifiers?

Create a dropshadow only layer

Found more old paper shares from broken up companies

Recruiter wants to represent me for a role that I've already applied to

How can I indicate that what I'm saying is not sarcastic online?

Finding number of days per ID in table using ArcPy?

How am I supposed to put out fires?

High income and difficulty during interviews

Storyboard broken after updating Xcode to version 10.3 (10G8) & app no longer is running

Is it ethical to tell my teaching assistant that I like him?

Contact Search Results Address Type

Planck's blackbody curve with "rainbow" in Tikz

Progressive key bindings

If hash functions append the length, why does length extension attack work?

Is it possible to access the complete command line including pipes in a bash script?

What is a "staved" town, like in "Staverton"?

Are gangsters hired to attack people at a train station classified as a terrorist attack?



How to plot a crossection of a ParametricPlot3D?


Cross Sections or slices of 3d figures - MathematicaMore on combining 2d and 3d plotsHow to maintain a smooth surface in CDFs while playing?Manipulate wrapping ParametricPlot3D - part spec longer than depth of object?Excluding a Region in ParametricPlot3DHow to display MeshRegion without verticesHow to plot points using ParametricPlot3D?How to compute the boundary of a group of ellipse efficiently?Region traced by the endpoints of all vectors given by a parametric expressionSpherical plot with ParametricPlot3dTrouble with discrete MeshRegions: Integrating over plane slices






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








5












$begingroup$


I'm plotting a surface using ParametricPlot3D. Ideally I would like to plot an intersection of the surface with a plane just as seen in another question (Cross Sections or slices of 3d figures - Mathematica). However in my case the parameters u and v are not equivalent to the spatial coordinates x,y. This is why i tried RegionPlot in place of CountourPlot to plot all pairs (x,y) that intersect the surface for a given value of z. This is not working somehow and I'm lost trying to look for alternatives.



Surface[u_, v_] = Cos[u], Sin[u] + Cos[v], Sin[v];

Row[Show[ParametricPlot3D[
Surface[u, v], u, 0, 2Pi, v, -Pi, Pi,
PlotStyle -> Opacity[ 0.2]],
Graphics3D[Blue, Opacity[0.4],
InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]],
ImageSize -> 300],
RegionPlot[
Exists[u, v, Surface[u, v] == x, y, 0], x, -1, 1, y, -1, 1,
ImageSize -> 300]]




In reality my surface is a bit more complicated so I chose a simple one for posing this question. Also ideally I would like to be able to change around the normal vector of the plane later, checking out any angle of the crosssection I like, so please keep that in mind when thinking about the question.
Thank you very much for any engagement in my problem!










share|improve this question









New contributor



joe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$


















    5












    $begingroup$


    I'm plotting a surface using ParametricPlot3D. Ideally I would like to plot an intersection of the surface with a plane just as seen in another question (Cross Sections or slices of 3d figures - Mathematica). However in my case the parameters u and v are not equivalent to the spatial coordinates x,y. This is why i tried RegionPlot in place of CountourPlot to plot all pairs (x,y) that intersect the surface for a given value of z. This is not working somehow and I'm lost trying to look for alternatives.



    Surface[u_, v_] = Cos[u], Sin[u] + Cos[v], Sin[v];

    Row[Show[ParametricPlot3D[
    Surface[u, v], u, 0, 2Pi, v, -Pi, Pi,
    PlotStyle -> Opacity[ 0.2]],
    Graphics3D[Blue, Opacity[0.4],
    InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]],
    ImageSize -> 300],
    RegionPlot[
    Exists[u, v, Surface[u, v] == x, y, 0], x, -1, 1, y, -1, 1,
    ImageSize -> 300]]




    In reality my surface is a bit more complicated so I chose a simple one for posing this question. Also ideally I would like to be able to change around the normal vector of the plane later, checking out any angle of the crosssection I like, so please keep that in mind when thinking about the question.
    Thank you very much for any engagement in my problem!










    share|improve this question









    New contributor



    joe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






    $endgroup$














      5












      5








      5





      $begingroup$


      I'm plotting a surface using ParametricPlot3D. Ideally I would like to plot an intersection of the surface with a plane just as seen in another question (Cross Sections or slices of 3d figures - Mathematica). However in my case the parameters u and v are not equivalent to the spatial coordinates x,y. This is why i tried RegionPlot in place of CountourPlot to plot all pairs (x,y) that intersect the surface for a given value of z. This is not working somehow and I'm lost trying to look for alternatives.



      Surface[u_, v_] = Cos[u], Sin[u] + Cos[v], Sin[v];

      Row[Show[ParametricPlot3D[
      Surface[u, v], u, 0, 2Pi, v, -Pi, Pi,
      PlotStyle -> Opacity[ 0.2]],
      Graphics3D[Blue, Opacity[0.4],
      InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]],
      ImageSize -> 300],
      RegionPlot[
      Exists[u, v, Surface[u, v] == x, y, 0], x, -1, 1, y, -1, 1,
      ImageSize -> 300]]




      In reality my surface is a bit more complicated so I chose a simple one for posing this question. Also ideally I would like to be able to change around the normal vector of the plane later, checking out any angle of the crosssection I like, so please keep that in mind when thinking about the question.
      Thank you very much for any engagement in my problem!










      share|improve this question









      New contributor



      joe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      $endgroup$




      I'm plotting a surface using ParametricPlot3D. Ideally I would like to plot an intersection of the surface with a plane just as seen in another question (Cross Sections or slices of 3d figures - Mathematica). However in my case the parameters u and v are not equivalent to the spatial coordinates x,y. This is why i tried RegionPlot in place of CountourPlot to plot all pairs (x,y) that intersect the surface for a given value of z. This is not working somehow and I'm lost trying to look for alternatives.



      Surface[u_, v_] = Cos[u], Sin[u] + Cos[v], Sin[v];

      Row[Show[ParametricPlot3D[
      Surface[u, v], u, 0, 2Pi, v, -Pi, Pi,
      PlotStyle -> Opacity[ 0.2]],
      Graphics3D[Blue, Opacity[0.4],
      InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]],
      ImageSize -> 300],
      RegionPlot[
      Exists[u, v, Surface[u, v] == x, y, 0], x, -1, 1, y, -1, 1,
      ImageSize -> 300]]




      In reality my surface is a bit more complicated so I chose a simple one for posing this question. Also ideally I would like to be able to change around the normal vector of the plane later, checking out any angle of the crosssection I like, so please keep that in mind when thinking about the question.
      Thank you very much for any engagement in my problem!







      plotting graphics3d intersection






      share|improve this question









      New contributor



      joe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share|improve this question









      New contributor



      joe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share|improve this question




      share|improve this question








      edited 9 hours ago







      joe













      New contributor



      joe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      asked 9 hours ago









      joejoe

      262 bronze badges




      262 bronze badges




      New contributor



      joe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




      New contributor




      joe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          2 Answers
          2






          active

          oldest

          votes


















          4












          $begingroup$

          You can use MeshFunctions + Mesh + MeshStyle to mark the intersection of the plane with the surface:



          pp = ParametricPlot3D[Surface[u, v], u, -Pi, Pi, v, -Pi, Pi, 
          PlotStyle -> Opacity[0.3],
          PlotPoints -> 200,
          MeshFunctions -> #3 &,
          Mesh -> 10^-6, Red];

          Show[pp, Graphics3D[Blue, Opacity[0.4],
          InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]]]


          enter image description here



          Extract the line primitives from pp and remove the last column of coordinates to get 2D lines to be used with Graphics:



          Graphics[Red, Thick, Cases[Normal[pp], Line[x_] :> Line[x[[All, ;; 2]]], All], 
          Frame -> True]


          enter image description here



          Use (1) MeshFunctions -> #2 & in ParametricPlot3D, (2) InfinitePlane[0, 0, 0, 1, 0, 0, 0,0,1] in Graphics3D and (3) Line[x[[All, 1,3]]] in Cases to get



          enter image description hereenter image description here



          And MeshFunctions -> #2-# &, InfinitePlane[0, 0, 0, 1, 1, 0, 0,0,1], ] :> Line[x[[All, 1,3]]] to get



          enter image description here



          enter image description here






          share|improve this answer











          $endgroup$




















            3












            $begingroup$

            Here my solutionapproach



            First define the plane e and n



            n = 0, 0, 1; (*normalvector of plane*)
            e = 0, 0, 0; (*point of plane*)


            Condition of intersection is Surface[u, v] - e).n == 0 which can be visualized with



            ContourPlot[(Surface[u, v] - e).n == 0, u, 0, 2 Pi, v, -1.1 Pi ,1.1 Pi , FrameLabel -> u, v,PlotRange -> 0, 2 Pi, -1.1 Pi, 1.1 Pi]


            enter image description here



            Obviously the intersection is defined by 0<u<2Pi ,v [Element] 0, Pi (which could be evaluated by NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi <= v <= Pi, u, v, Reals]):



            ParametricPlot3D[Surface[u, 0], Surface[u, Pi], u, 0, 2 Pi]


            enter image description here



            It's not necessary to introduce new coordinates x,y.



            2nd example:



            n=0,1,0;
            sol = NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi < v < Pi, u, v, Reals]
            ParametricPlot3D[Surface[u, v] /. sol, u, 0, 2 Pi]


            enter image description here






            share|improve this answer











            $endgroup$












            • $begingroup$
              ok, thank you, I like the start of this. But what about the plane for n = 0, 1, 0; though? The contour lines will not be constant in any coordinate u or v. So I can't just produce the second plot by putting constant numbers into the Surface function.
              $endgroup$
              – joe
              8 hours ago










            • $begingroup$
              something I'm trying now to expand on your approach is the following uvlines = ImplicitRegion[(Surface[u, v] - e).n == 0, u, v] ParametricPlot3D[Surface[u, v], Element[u, v, uvlines]] but again, it's not working.
              $endgroup$
              – joe
              8 hours ago










            • $begingroup$
              @joe NSolve gives you the parametric solution! You have to put the NSolve result into the ParametricPlot3D
              $endgroup$
              – Ulrich Neumann
              8 hours ago










            • $begingroup$
              @joe I edited my answer...
              $endgroup$
              – Ulrich Neumann
              8 hours ago













            Your Answer








            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
            );



            );






            joe is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f202598%2fhow-to-plot-a-crossection-of-a-parametricplot3d%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4












            $begingroup$

            You can use MeshFunctions + Mesh + MeshStyle to mark the intersection of the plane with the surface:



            pp = ParametricPlot3D[Surface[u, v], u, -Pi, Pi, v, -Pi, Pi, 
            PlotStyle -> Opacity[0.3],
            PlotPoints -> 200,
            MeshFunctions -> #3 &,
            Mesh -> 10^-6, Red];

            Show[pp, Graphics3D[Blue, Opacity[0.4],
            InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]]]


            enter image description here



            Extract the line primitives from pp and remove the last column of coordinates to get 2D lines to be used with Graphics:



            Graphics[Red, Thick, Cases[Normal[pp], Line[x_] :> Line[x[[All, ;; 2]]], All], 
            Frame -> True]


            enter image description here



            Use (1) MeshFunctions -> #2 & in ParametricPlot3D, (2) InfinitePlane[0, 0, 0, 1, 0, 0, 0,0,1] in Graphics3D and (3) Line[x[[All, 1,3]]] in Cases to get



            enter image description hereenter image description here



            And MeshFunctions -> #2-# &, InfinitePlane[0, 0, 0, 1, 1, 0, 0,0,1], ] :> Line[x[[All, 1,3]]] to get



            enter image description here



            enter image description here






            share|improve this answer











            $endgroup$

















              4












              $begingroup$

              You can use MeshFunctions + Mesh + MeshStyle to mark the intersection of the plane with the surface:



              pp = ParametricPlot3D[Surface[u, v], u, -Pi, Pi, v, -Pi, Pi, 
              PlotStyle -> Opacity[0.3],
              PlotPoints -> 200,
              MeshFunctions -> #3 &,
              Mesh -> 10^-6, Red];

              Show[pp, Graphics3D[Blue, Opacity[0.4],
              InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]]]


              enter image description here



              Extract the line primitives from pp and remove the last column of coordinates to get 2D lines to be used with Graphics:



              Graphics[Red, Thick, Cases[Normal[pp], Line[x_] :> Line[x[[All, ;; 2]]], All], 
              Frame -> True]


              enter image description here



              Use (1) MeshFunctions -> #2 & in ParametricPlot3D, (2) InfinitePlane[0, 0, 0, 1, 0, 0, 0,0,1] in Graphics3D and (3) Line[x[[All, 1,3]]] in Cases to get



              enter image description hereenter image description here



              And MeshFunctions -> #2-# &, InfinitePlane[0, 0, 0, 1, 1, 0, 0,0,1], ] :> Line[x[[All, 1,3]]] to get



              enter image description here



              enter image description here






              share|improve this answer











              $endgroup$















                4












                4








                4





                $begingroup$

                You can use MeshFunctions + Mesh + MeshStyle to mark the intersection of the plane with the surface:



                pp = ParametricPlot3D[Surface[u, v], u, -Pi, Pi, v, -Pi, Pi, 
                PlotStyle -> Opacity[0.3],
                PlotPoints -> 200,
                MeshFunctions -> #3 &,
                Mesh -> 10^-6, Red];

                Show[pp, Graphics3D[Blue, Opacity[0.4],
                InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]]]


                enter image description here



                Extract the line primitives from pp and remove the last column of coordinates to get 2D lines to be used with Graphics:



                Graphics[Red, Thick, Cases[Normal[pp], Line[x_] :> Line[x[[All, ;; 2]]], All], 
                Frame -> True]


                enter image description here



                Use (1) MeshFunctions -> #2 & in ParametricPlot3D, (2) InfinitePlane[0, 0, 0, 1, 0, 0, 0,0,1] in Graphics3D and (3) Line[x[[All, 1,3]]] in Cases to get



                enter image description hereenter image description here



                And MeshFunctions -> #2-# &, InfinitePlane[0, 0, 0, 1, 1, 0, 0,0,1], ] :> Line[x[[All, 1,3]]] to get



                enter image description here



                enter image description here






                share|improve this answer











                $endgroup$



                You can use MeshFunctions + Mesh + MeshStyle to mark the intersection of the plane with the surface:



                pp = ParametricPlot3D[Surface[u, v], u, -Pi, Pi, v, -Pi, Pi, 
                PlotStyle -> Opacity[0.3],
                PlotPoints -> 200,
                MeshFunctions -> #3 &,
                Mesh -> 10^-6, Red];

                Show[pp, Graphics3D[Blue, Opacity[0.4],
                InfinitePlane[0, 0, 0, 1, 0, 0, 0, 1, 0]]]


                enter image description here



                Extract the line primitives from pp and remove the last column of coordinates to get 2D lines to be used with Graphics:



                Graphics[Red, Thick, Cases[Normal[pp], Line[x_] :> Line[x[[All, ;; 2]]], All], 
                Frame -> True]


                enter image description here



                Use (1) MeshFunctions -> #2 & in ParametricPlot3D, (2) InfinitePlane[0, 0, 0, 1, 0, 0, 0,0,1] in Graphics3D and (3) Line[x[[All, 1,3]]] in Cases to get



                enter image description hereenter image description here



                And MeshFunctions -> #2-# &, InfinitePlane[0, 0, 0, 1, 1, 0, 0,0,1], ] :> Line[x[[All, 1,3]]] to get



                enter image description here



                enter image description here







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 3 hours ago

























                answered 4 hours ago









                kglrkglr

                207k10 gold badges236 silver badges468 bronze badges




                207k10 gold badges236 silver badges468 bronze badges























                    3












                    $begingroup$

                    Here my solutionapproach



                    First define the plane e and n



                    n = 0, 0, 1; (*normalvector of plane*)
                    e = 0, 0, 0; (*point of plane*)


                    Condition of intersection is Surface[u, v] - e).n == 0 which can be visualized with



                    ContourPlot[(Surface[u, v] - e).n == 0, u, 0, 2 Pi, v, -1.1 Pi ,1.1 Pi , FrameLabel -> u, v,PlotRange -> 0, 2 Pi, -1.1 Pi, 1.1 Pi]


                    enter image description here



                    Obviously the intersection is defined by 0<u<2Pi ,v [Element] 0, Pi (which could be evaluated by NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi <= v <= Pi, u, v, Reals]):



                    ParametricPlot3D[Surface[u, 0], Surface[u, Pi], u, 0, 2 Pi]


                    enter image description here



                    It's not necessary to introduce new coordinates x,y.



                    2nd example:



                    n=0,1,0;
                    sol = NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi < v < Pi, u, v, Reals]
                    ParametricPlot3D[Surface[u, v] /. sol, u, 0, 2 Pi]


                    enter image description here






                    share|improve this answer











                    $endgroup$












                    • $begingroup$
                      ok, thank you, I like the start of this. But what about the plane for n = 0, 1, 0; though? The contour lines will not be constant in any coordinate u or v. So I can't just produce the second plot by putting constant numbers into the Surface function.
                      $endgroup$
                      – joe
                      8 hours ago










                    • $begingroup$
                      something I'm trying now to expand on your approach is the following uvlines = ImplicitRegion[(Surface[u, v] - e).n == 0, u, v] ParametricPlot3D[Surface[u, v], Element[u, v, uvlines]] but again, it's not working.
                      $endgroup$
                      – joe
                      8 hours ago










                    • $begingroup$
                      @joe NSolve gives you the parametric solution! You have to put the NSolve result into the ParametricPlot3D
                      $endgroup$
                      – Ulrich Neumann
                      8 hours ago










                    • $begingroup$
                      @joe I edited my answer...
                      $endgroup$
                      – Ulrich Neumann
                      8 hours ago















                    3












                    $begingroup$

                    Here my solutionapproach



                    First define the plane e and n



                    n = 0, 0, 1; (*normalvector of plane*)
                    e = 0, 0, 0; (*point of plane*)


                    Condition of intersection is Surface[u, v] - e).n == 0 which can be visualized with



                    ContourPlot[(Surface[u, v] - e).n == 0, u, 0, 2 Pi, v, -1.1 Pi ,1.1 Pi , FrameLabel -> u, v,PlotRange -> 0, 2 Pi, -1.1 Pi, 1.1 Pi]


                    enter image description here



                    Obviously the intersection is defined by 0<u<2Pi ,v [Element] 0, Pi (which could be evaluated by NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi <= v <= Pi, u, v, Reals]):



                    ParametricPlot3D[Surface[u, 0], Surface[u, Pi], u, 0, 2 Pi]


                    enter image description here



                    It's not necessary to introduce new coordinates x,y.



                    2nd example:



                    n=0,1,0;
                    sol = NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi < v < Pi, u, v, Reals]
                    ParametricPlot3D[Surface[u, v] /. sol, u, 0, 2 Pi]


                    enter image description here






                    share|improve this answer











                    $endgroup$












                    • $begingroup$
                      ok, thank you, I like the start of this. But what about the plane for n = 0, 1, 0; though? The contour lines will not be constant in any coordinate u or v. So I can't just produce the second plot by putting constant numbers into the Surface function.
                      $endgroup$
                      – joe
                      8 hours ago










                    • $begingroup$
                      something I'm trying now to expand on your approach is the following uvlines = ImplicitRegion[(Surface[u, v] - e).n == 0, u, v] ParametricPlot3D[Surface[u, v], Element[u, v, uvlines]] but again, it's not working.
                      $endgroup$
                      – joe
                      8 hours ago










                    • $begingroup$
                      @joe NSolve gives you the parametric solution! You have to put the NSolve result into the ParametricPlot3D
                      $endgroup$
                      – Ulrich Neumann
                      8 hours ago










                    • $begingroup$
                      @joe I edited my answer...
                      $endgroup$
                      – Ulrich Neumann
                      8 hours ago













                    3












                    3








                    3





                    $begingroup$

                    Here my solutionapproach



                    First define the plane e and n



                    n = 0, 0, 1; (*normalvector of plane*)
                    e = 0, 0, 0; (*point of plane*)


                    Condition of intersection is Surface[u, v] - e).n == 0 which can be visualized with



                    ContourPlot[(Surface[u, v] - e).n == 0, u, 0, 2 Pi, v, -1.1 Pi ,1.1 Pi , FrameLabel -> u, v,PlotRange -> 0, 2 Pi, -1.1 Pi, 1.1 Pi]


                    enter image description here



                    Obviously the intersection is defined by 0<u<2Pi ,v [Element] 0, Pi (which could be evaluated by NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi <= v <= Pi, u, v, Reals]):



                    ParametricPlot3D[Surface[u, 0], Surface[u, Pi], u, 0, 2 Pi]


                    enter image description here



                    It's not necessary to introduce new coordinates x,y.



                    2nd example:



                    n=0,1,0;
                    sol = NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi < v < Pi, u, v, Reals]
                    ParametricPlot3D[Surface[u, v] /. sol, u, 0, 2 Pi]


                    enter image description here






                    share|improve this answer











                    $endgroup$



                    Here my solutionapproach



                    First define the plane e and n



                    n = 0, 0, 1; (*normalvector of plane*)
                    e = 0, 0, 0; (*point of plane*)


                    Condition of intersection is Surface[u, v] - e).n == 0 which can be visualized with



                    ContourPlot[(Surface[u, v] - e).n == 0, u, 0, 2 Pi, v, -1.1 Pi ,1.1 Pi , FrameLabel -> u, v,PlotRange -> 0, 2 Pi, -1.1 Pi, 1.1 Pi]


                    enter image description here



                    Obviously the intersection is defined by 0<u<2Pi ,v [Element] 0, Pi (which could be evaluated by NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi <= v <= Pi, u, v, Reals]):



                    ParametricPlot3D[Surface[u, 0], Surface[u, Pi], u, 0, 2 Pi]


                    enter image description here



                    It's not necessary to introduce new coordinates x,y.



                    2nd example:



                    n=0,1,0;
                    sol = NSolve[(Surface[u, v] - e).n == 0,0 <= u <= 2 Pi, -Pi < v < Pi, u, v, Reals]
                    ParametricPlot3D[Surface[u, v] /. sol, u, 0, 2 Pi]


                    enter image description here







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited 8 hours ago

























                    answered 8 hours ago









                    Ulrich NeumannUlrich Neumann

                    12.3k7 silver badges19 bronze badges




                    12.3k7 silver badges19 bronze badges











                    • $begingroup$
                      ok, thank you, I like the start of this. But what about the plane for n = 0, 1, 0; though? The contour lines will not be constant in any coordinate u or v. So I can't just produce the second plot by putting constant numbers into the Surface function.
                      $endgroup$
                      – joe
                      8 hours ago










                    • $begingroup$
                      something I'm trying now to expand on your approach is the following uvlines = ImplicitRegion[(Surface[u, v] - e).n == 0, u, v] ParametricPlot3D[Surface[u, v], Element[u, v, uvlines]] but again, it's not working.
                      $endgroup$
                      – joe
                      8 hours ago










                    • $begingroup$
                      @joe NSolve gives you the parametric solution! You have to put the NSolve result into the ParametricPlot3D
                      $endgroup$
                      – Ulrich Neumann
                      8 hours ago










                    • $begingroup$
                      @joe I edited my answer...
                      $endgroup$
                      – Ulrich Neumann
                      8 hours ago
















                    • $begingroup$
                      ok, thank you, I like the start of this. But what about the plane for n = 0, 1, 0; though? The contour lines will not be constant in any coordinate u or v. So I can't just produce the second plot by putting constant numbers into the Surface function.
                      $endgroup$
                      – joe
                      8 hours ago










                    • $begingroup$
                      something I'm trying now to expand on your approach is the following uvlines = ImplicitRegion[(Surface[u, v] - e).n == 0, u, v] ParametricPlot3D[Surface[u, v], Element[u, v, uvlines]] but again, it's not working.
                      $endgroup$
                      – joe
                      8 hours ago










                    • $begingroup$
                      @joe NSolve gives you the parametric solution! You have to put the NSolve result into the ParametricPlot3D
                      $endgroup$
                      – Ulrich Neumann
                      8 hours ago










                    • $begingroup$
                      @joe I edited my answer...
                      $endgroup$
                      – Ulrich Neumann
                      8 hours ago















                    $begingroup$
                    ok, thank you, I like the start of this. But what about the plane for n = 0, 1, 0; though? The contour lines will not be constant in any coordinate u or v. So I can't just produce the second plot by putting constant numbers into the Surface function.
                    $endgroup$
                    – joe
                    8 hours ago




                    $begingroup$
                    ok, thank you, I like the start of this. But what about the plane for n = 0, 1, 0; though? The contour lines will not be constant in any coordinate u or v. So I can't just produce the second plot by putting constant numbers into the Surface function.
                    $endgroup$
                    – joe
                    8 hours ago












                    $begingroup$
                    something I'm trying now to expand on your approach is the following uvlines = ImplicitRegion[(Surface[u, v] - e).n == 0, u, v] ParametricPlot3D[Surface[u, v], Element[u, v, uvlines]] but again, it's not working.
                    $endgroup$
                    – joe
                    8 hours ago




                    $begingroup$
                    something I'm trying now to expand on your approach is the following uvlines = ImplicitRegion[(Surface[u, v] - e).n == 0, u, v] ParametricPlot3D[Surface[u, v], Element[u, v, uvlines]] but again, it's not working.
                    $endgroup$
                    – joe
                    8 hours ago












                    $begingroup$
                    @joe NSolve gives you the parametric solution! You have to put the NSolve result into the ParametricPlot3D
                    $endgroup$
                    – Ulrich Neumann
                    8 hours ago




                    $begingroup$
                    @joe NSolve gives you the parametric solution! You have to put the NSolve result into the ParametricPlot3D
                    $endgroup$
                    – Ulrich Neumann
                    8 hours ago












                    $begingroup$
                    @joe I edited my answer...
                    $endgroup$
                    – Ulrich Neumann
                    8 hours ago




                    $begingroup$
                    @joe I edited my answer...
                    $endgroup$
                    – Ulrich Neumann
                    8 hours ago










                    joe is a new contributor. Be nice, and check out our Code of Conduct.









                    draft saved

                    draft discarded


















                    joe is a new contributor. Be nice, and check out our Code of Conduct.












                    joe is a new contributor. Be nice, and check out our Code of Conduct.











                    joe is a new contributor. Be nice, and check out our Code of Conduct.














                    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%2f202598%2fhow-to-plot-a-crossection-of-a-parametricplot3d%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

                    Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                    Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                    François Viète Contents Biography Work and thought Bibliography See also Notes Further reading External links Navigation menup. 21Google Bookspp. 75–77Google BooksDe thou (from University of Saint Andrews)ArchivedGoogle BooksGoogle BooksGoogle BooksGoogle booksGoogle Bookscc-parthenay.frL'histoire universelle (fr)Universal History (en)ArchivedAdsabs.harvard.eduPagesperso-orange.frArchive.orgChikara Sasaki. Descartes' mathematical thought p.259Google BooksGoogle BooksGoogle Bookspp. 152 and onwardGoogle BooksGoogle BooksScribd.comGoogle Books1257-7979Google BooksGoogle BooksGoogle BooksGoogle BooksGoogle BooksGoogle BooksGallica.bnf.frGoogle BooksGoogle Books"François Viète"Francois Viète: Father of Modern Algebraic NotationThe Lawyer and the GamblerAbout TarporleySite de Jean-Paul GuichardL'algèbre nouvelle"About the Harmonicon"cb120511976(data)1188044800000 0001 0913 5903n82164680ola2013766880073431702w6vt1sb70287374827140948071409480