Nearly equally spaced 3D-meshLong running ToElementMesh with very “large” domainsHow to create a surface...

When does order matter in probability?

pgfgantt: month displayed as single letter

A puzzling nature walk

UK citizen travelling to France at the end of November

Short story: Interstellar inspector senses "off" nature of planet hiding aggressive culture

I need to know information from an old German birth certificate

More than three domains hosted on the same IP address

Is it unavoidable taking shortcuts in software development sometimes?

How do I reference a custom counter that shows the section number?

Are personality traits, ideals, bonds, and flaws required?

Bit floating sequence

Distinguishing between octahedral and tetrahedral holes

Train between Vienna airport and city center

Why do the British opposition parties not want a new election?

Online Education for OR and Developing Decision Support Systems

Can you mark a new target with the Hunter's Mark spell if the original target shifts to a different plane?

Why should I always enable compiler warnings?

Tikzcd in beamer not working

Lost & Found Mobile Telepone

Stack class in Java 8

Why can linguists decide which use of language is correct and which is not?

Group in the context of elliptic curve crypto

Contractor cut joist hangers to make them fit

Is gravity a factor for sustaining fusion?



Nearly equally spaced 3D-mesh


Long running ToElementMesh with very “large” domainsHow to create a surface mesh embedded in 3D?How do you refine the elements of a 3D mesh?Is there a way to make MaxCellMeasure and MaxBoundaryCellMeasure comparable?Making good meshesComputing volume from node coordinates on the surface of a non-convex solidMeshing control of NDEigensystem






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







2












$begingroup$


How to mesh a volume (3D region) with nearly equaly spaced vertices?



Example: Disk with radius 50 and height 15



disk = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];


Is there an easy way to mesh the volume such that the vertices are constrained to around 5?



I tried



ToElementMesh[disk, MaxCellMeasure -> {1 ->100}]["Wireframe"]


enter image description here



which only gives a nonuniform mesh



Thanks!










share|improve this question











$endgroup$














  • $begingroup$
    You can mesh with tetrahedra. Each tetraheada has 4 vertices. Do you just want a total of 5 vertices so that the disk is very poorly meshed?
    $endgroup$
    – Hugh
    11 hours ago










  • $begingroup$
    @Hugh Yes , 3 or 4 elements along the thickness direction would be ok.
    $endgroup$
    – Ulrich Neumann
    11 hours ago


















2












$begingroup$


How to mesh a volume (3D region) with nearly equaly spaced vertices?



Example: Disk with radius 50 and height 15



disk = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];


Is there an easy way to mesh the volume such that the vertices are constrained to around 5?



I tried



ToElementMesh[disk, MaxCellMeasure -> {1 ->100}]["Wireframe"]


enter image description here



which only gives a nonuniform mesh



Thanks!










share|improve this question











$endgroup$














  • $begingroup$
    You can mesh with tetrahedra. Each tetraheada has 4 vertices. Do you just want a total of 5 vertices so that the disk is very poorly meshed?
    $endgroup$
    – Hugh
    11 hours ago










  • $begingroup$
    @Hugh Yes , 3 or 4 elements along the thickness direction would be ok.
    $endgroup$
    – Ulrich Neumann
    11 hours ago














2












2








2


1



$begingroup$


How to mesh a volume (3D region) with nearly equaly spaced vertices?



Example: Disk with radius 50 and height 15



disk = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];


Is there an easy way to mesh the volume such that the vertices are constrained to around 5?



I tried



ToElementMesh[disk, MaxCellMeasure -> {1 ->100}]["Wireframe"]


enter image description here



which only gives a nonuniform mesh



Thanks!










share|improve this question











$endgroup$




How to mesh a volume (3D region) with nearly equaly spaced vertices?



Example: Disk with radius 50 and height 15



disk = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];


Is there an easy way to mesh the volume such that the vertices are constrained to around 5?



I tried



ToElementMesh[disk, MaxCellMeasure -> {1 ->100}]["Wireframe"]


enter image description here



which only gives a nonuniform mesh



Thanks!







mesh meshfunction






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 11 hours ago







Ulrich Neumann

















asked 12 hours ago









Ulrich NeumannUlrich Neumann

14.1k7 silver badges23 bronze badges




14.1k7 silver badges23 bronze badges















  • $begingroup$
    You can mesh with tetrahedra. Each tetraheada has 4 vertices. Do you just want a total of 5 vertices so that the disk is very poorly meshed?
    $endgroup$
    – Hugh
    11 hours ago










  • $begingroup$
    @Hugh Yes , 3 or 4 elements along the thickness direction would be ok.
    $endgroup$
    – Ulrich Neumann
    11 hours ago


















  • $begingroup$
    You can mesh with tetrahedra. Each tetraheada has 4 vertices. Do you just want a total of 5 vertices so that the disk is very poorly meshed?
    $endgroup$
    – Hugh
    11 hours ago










  • $begingroup$
    @Hugh Yes , 3 or 4 elements along the thickness direction would be ok.
    $endgroup$
    – Ulrich Neumann
    11 hours ago
















$begingroup$
You can mesh with tetrahedra. Each tetraheada has 4 vertices. Do you just want a total of 5 vertices so that the disk is very poorly meshed?
$endgroup$
– Hugh
11 hours ago




$begingroup$
You can mesh with tetrahedra. Each tetraheada has 4 vertices. Do you just want a total of 5 vertices so that the disk is very poorly meshed?
$endgroup$
– Hugh
11 hours ago












$begingroup$
@Hugh Yes , 3 or 4 elements along the thickness direction would be ok.
$endgroup$
– Ulrich Neumann
11 hours ago




$begingroup$
@Hugh Yes , 3 or 4 elements along the thickness direction would be ok.
$endgroup$
– Ulrich Neumann
11 hours ago










2 Answers
2






active

oldest

votes


















2














$begingroup$

Here is a possible way forward. I think the standard meshing algorithm attempt to give you a good circular boundary and then this dictates a general mesh size which is too fine for your purposes. Here I define my own boundary points and then mesh from there. I have your five vertices across the disk thickness and put a similar spacing around the circumference.



   Needs["NDSolve`FEM`"]
h = 15; (* height *)
r = 50; (* radius *)
nn = 79; (* number of edges *)
pts = Partition[Flatten[Table[
Table[{r Cos[2 π k/nn], r Sin[2 π k/nn], z}, {k, 0,
nn - 1}],
{z, 0, h, h/4}]], 3];
Graphics3D[{
Point[pts]
}

]


Mathematica graphics



Now I make the boundary mesh which is not fine.



m = DelaunayMesh[pts];
bmesh = ToBoundaryMesh[m];
bmesh["Wireframe"]


Mathematica graphics



Now the mesh density seems to follow from the boundary



mesh = ToElementMesh[bmesh];
mesh["Wireframe"]


Mathematica graphics



I don't know how to best check the mesh size within the boundaries. Perhaps someone can suggest a method. Here is a section showing the nodes. There are mid side nodes on each tetrahedra but I think I have your 5 vertices across the thickness.



cc = mesh["Coordinates"];
Show[
Graphics3D[Point[cc], PlotRange -> {All, {0, 10}, All}],
mesh["Wireframe"]
]


Mathematica graphics



Also we can look at the mesh quality



Histogram[mesh["Quality"]]


Mathematica graphics



The histogram suggests that there is a dominant size around 0.8. I am not sure of the units here. Is the horizontal axis the volume of elements?



Does this help?






share|improve this answer











$endgroup$























    2














    $begingroup$

    Coarse cylinder



    Using the Cylinder primitive seems to do the trick:



    MeshRegion[
    DiscretizeRegion[Cylinder[{{0, 0, 0}, {0, 0, 15}}, 50], MaxCellMeasure -> {1 -> 100}],
    PlotTheme -> "Lines",
    MeshCellStyle -> {1 -> Black}
    ]




    General region



    Notice that the boundary is being discretized finer than you'd like. It looks like if we can workaround this, we could get a coarse mesh with higher quality elements.



    One way is through stricter sampling options:



    cyl = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];
    mr = DiscretizeRegion[cyl,
    MaxCellMeasure -> {1 -> 100, 3 -> 200},
    Method -> {"RegionPlot3D", PlotPoints -> 6}
    ];

    MeshCellCount[mr]



    {386, 1990, 2902, 1297}



    MeshRegion[mr, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]




    Histogram[PropertyValue[{mr, 3}, MeshCellQuality]]






    Here's another example:



    ball = ImplicitRegion[x^2 + y^2 + z^2 <= 50^2, {x, y, z}];

    mr1 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100}];
    mr2 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100, 3 -> 200},
    Method -> {"RegionPlot3D", PlotPoints -> 6}];

    MeshRegion[mr1, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]
    MeshRegion[mr2, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]


    enter image description here



    Histogram[PropertyValue[{mr1, 3}, MeshCellQuality]]
    Histogram[PropertyValue[{mr2, 3}, MeshCellQuality]]


    enter image description here






    share|improve this answer









    $endgroup$


















      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/4.0/"u003ecc by-sa 4.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%2f204967%2fnearly-equally-spaced-3d-mesh%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









      2














      $begingroup$

      Here is a possible way forward. I think the standard meshing algorithm attempt to give you a good circular boundary and then this dictates a general mesh size which is too fine for your purposes. Here I define my own boundary points and then mesh from there. I have your five vertices across the disk thickness and put a similar spacing around the circumference.



         Needs["NDSolve`FEM`"]
      h = 15; (* height *)
      r = 50; (* radius *)
      nn = 79; (* number of edges *)
      pts = Partition[Flatten[Table[
      Table[{r Cos[2 π k/nn], r Sin[2 π k/nn], z}, {k, 0,
      nn - 1}],
      {z, 0, h, h/4}]], 3];
      Graphics3D[{
      Point[pts]
      }

      ]


      Mathematica graphics



      Now I make the boundary mesh which is not fine.



      m = DelaunayMesh[pts];
      bmesh = ToBoundaryMesh[m];
      bmesh["Wireframe"]


      Mathematica graphics



      Now the mesh density seems to follow from the boundary



      mesh = ToElementMesh[bmesh];
      mesh["Wireframe"]


      Mathematica graphics



      I don't know how to best check the mesh size within the boundaries. Perhaps someone can suggest a method. Here is a section showing the nodes. There are mid side nodes on each tetrahedra but I think I have your 5 vertices across the thickness.



      cc = mesh["Coordinates"];
      Show[
      Graphics3D[Point[cc], PlotRange -> {All, {0, 10}, All}],
      mesh["Wireframe"]
      ]


      Mathematica graphics



      Also we can look at the mesh quality



      Histogram[mesh["Quality"]]


      Mathematica graphics



      The histogram suggests that there is a dominant size around 0.8. I am not sure of the units here. Is the horizontal axis the volume of elements?



      Does this help?






      share|improve this answer











      $endgroup$




















        2














        $begingroup$

        Here is a possible way forward. I think the standard meshing algorithm attempt to give you a good circular boundary and then this dictates a general mesh size which is too fine for your purposes. Here I define my own boundary points and then mesh from there. I have your five vertices across the disk thickness and put a similar spacing around the circumference.



           Needs["NDSolve`FEM`"]
        h = 15; (* height *)
        r = 50; (* radius *)
        nn = 79; (* number of edges *)
        pts = Partition[Flatten[Table[
        Table[{r Cos[2 π k/nn], r Sin[2 π k/nn], z}, {k, 0,
        nn - 1}],
        {z, 0, h, h/4}]], 3];
        Graphics3D[{
        Point[pts]
        }

        ]


        Mathematica graphics



        Now I make the boundary mesh which is not fine.



        m = DelaunayMesh[pts];
        bmesh = ToBoundaryMesh[m];
        bmesh["Wireframe"]


        Mathematica graphics



        Now the mesh density seems to follow from the boundary



        mesh = ToElementMesh[bmesh];
        mesh["Wireframe"]


        Mathematica graphics



        I don't know how to best check the mesh size within the boundaries. Perhaps someone can suggest a method. Here is a section showing the nodes. There are mid side nodes on each tetrahedra but I think I have your 5 vertices across the thickness.



        cc = mesh["Coordinates"];
        Show[
        Graphics3D[Point[cc], PlotRange -> {All, {0, 10}, All}],
        mesh["Wireframe"]
        ]


        Mathematica graphics



        Also we can look at the mesh quality



        Histogram[mesh["Quality"]]


        Mathematica graphics



        The histogram suggests that there is a dominant size around 0.8. I am not sure of the units here. Is the horizontal axis the volume of elements?



        Does this help?






        share|improve this answer











        $endgroup$


















          2














          2










          2







          $begingroup$

          Here is a possible way forward. I think the standard meshing algorithm attempt to give you a good circular boundary and then this dictates a general mesh size which is too fine for your purposes. Here I define my own boundary points and then mesh from there. I have your five vertices across the disk thickness and put a similar spacing around the circumference.



             Needs["NDSolve`FEM`"]
          h = 15; (* height *)
          r = 50; (* radius *)
          nn = 79; (* number of edges *)
          pts = Partition[Flatten[Table[
          Table[{r Cos[2 π k/nn], r Sin[2 π k/nn], z}, {k, 0,
          nn - 1}],
          {z, 0, h, h/4}]], 3];
          Graphics3D[{
          Point[pts]
          }

          ]


          Mathematica graphics



          Now I make the boundary mesh which is not fine.



          m = DelaunayMesh[pts];
          bmesh = ToBoundaryMesh[m];
          bmesh["Wireframe"]


          Mathematica graphics



          Now the mesh density seems to follow from the boundary



          mesh = ToElementMesh[bmesh];
          mesh["Wireframe"]


          Mathematica graphics



          I don't know how to best check the mesh size within the boundaries. Perhaps someone can suggest a method. Here is a section showing the nodes. There are mid side nodes on each tetrahedra but I think I have your 5 vertices across the thickness.



          cc = mesh["Coordinates"];
          Show[
          Graphics3D[Point[cc], PlotRange -> {All, {0, 10}, All}],
          mesh["Wireframe"]
          ]


          Mathematica graphics



          Also we can look at the mesh quality



          Histogram[mesh["Quality"]]


          Mathematica graphics



          The histogram suggests that there is a dominant size around 0.8. I am not sure of the units here. Is the horizontal axis the volume of elements?



          Does this help?






          share|improve this answer











          $endgroup$



          Here is a possible way forward. I think the standard meshing algorithm attempt to give you a good circular boundary and then this dictates a general mesh size which is too fine for your purposes. Here I define my own boundary points and then mesh from there. I have your five vertices across the disk thickness and put a similar spacing around the circumference.



             Needs["NDSolve`FEM`"]
          h = 15; (* height *)
          r = 50; (* radius *)
          nn = 79; (* number of edges *)
          pts = Partition[Flatten[Table[
          Table[{r Cos[2 π k/nn], r Sin[2 π k/nn], z}, {k, 0,
          nn - 1}],
          {z, 0, h, h/4}]], 3];
          Graphics3D[{
          Point[pts]
          }

          ]


          Mathematica graphics



          Now I make the boundary mesh which is not fine.



          m = DelaunayMesh[pts];
          bmesh = ToBoundaryMesh[m];
          bmesh["Wireframe"]


          Mathematica graphics



          Now the mesh density seems to follow from the boundary



          mesh = ToElementMesh[bmesh];
          mesh["Wireframe"]


          Mathematica graphics



          I don't know how to best check the mesh size within the boundaries. Perhaps someone can suggest a method. Here is a section showing the nodes. There are mid side nodes on each tetrahedra but I think I have your 5 vertices across the thickness.



          cc = mesh["Coordinates"];
          Show[
          Graphics3D[Point[cc], PlotRange -> {All, {0, 10}, All}],
          mesh["Wireframe"]
          ]


          Mathematica graphics



          Also we can look at the mesh quality



          Histogram[mesh["Quality"]]


          Mathematica graphics



          The histogram suggests that there is a dominant size around 0.8. I am not sure of the units here. Is the horizontal axis the volume of elements?



          Does this help?







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 8 hours ago

























          answered 8 hours ago









          HughHugh

          7,3562 gold badges19 silver badges47 bronze badges




          7,3562 gold badges19 silver badges47 bronze badges




























              2














              $begingroup$

              Coarse cylinder



              Using the Cylinder primitive seems to do the trick:



              MeshRegion[
              DiscretizeRegion[Cylinder[{{0, 0, 0}, {0, 0, 15}}, 50], MaxCellMeasure -> {1 -> 100}],
              PlotTheme -> "Lines",
              MeshCellStyle -> {1 -> Black}
              ]




              General region



              Notice that the boundary is being discretized finer than you'd like. It looks like if we can workaround this, we could get a coarse mesh with higher quality elements.



              One way is through stricter sampling options:



              cyl = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];
              mr = DiscretizeRegion[cyl,
              MaxCellMeasure -> {1 -> 100, 3 -> 200},
              Method -> {"RegionPlot3D", PlotPoints -> 6}
              ];

              MeshCellCount[mr]



              {386, 1990, 2902, 1297}



              MeshRegion[mr, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]




              Histogram[PropertyValue[{mr, 3}, MeshCellQuality]]






              Here's another example:



              ball = ImplicitRegion[x^2 + y^2 + z^2 <= 50^2, {x, y, z}];

              mr1 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100}];
              mr2 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100, 3 -> 200},
              Method -> {"RegionPlot3D", PlotPoints -> 6}];

              MeshRegion[mr1, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]
              MeshRegion[mr2, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]


              enter image description here



              Histogram[PropertyValue[{mr1, 3}, MeshCellQuality]]
              Histogram[PropertyValue[{mr2, 3}, MeshCellQuality]]


              enter image description here






              share|improve this answer









              $endgroup$




















                2














                $begingroup$

                Coarse cylinder



                Using the Cylinder primitive seems to do the trick:



                MeshRegion[
                DiscretizeRegion[Cylinder[{{0, 0, 0}, {0, 0, 15}}, 50], MaxCellMeasure -> {1 -> 100}],
                PlotTheme -> "Lines",
                MeshCellStyle -> {1 -> Black}
                ]




                General region



                Notice that the boundary is being discretized finer than you'd like. It looks like if we can workaround this, we could get a coarse mesh with higher quality elements.



                One way is through stricter sampling options:



                cyl = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];
                mr = DiscretizeRegion[cyl,
                MaxCellMeasure -> {1 -> 100, 3 -> 200},
                Method -> {"RegionPlot3D", PlotPoints -> 6}
                ];

                MeshCellCount[mr]



                {386, 1990, 2902, 1297}



                MeshRegion[mr, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]




                Histogram[PropertyValue[{mr, 3}, MeshCellQuality]]






                Here's another example:



                ball = ImplicitRegion[x^2 + y^2 + z^2 <= 50^2, {x, y, z}];

                mr1 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100}];
                mr2 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100, 3 -> 200},
                Method -> {"RegionPlot3D", PlotPoints -> 6}];

                MeshRegion[mr1, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]
                MeshRegion[mr2, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]


                enter image description here



                Histogram[PropertyValue[{mr1, 3}, MeshCellQuality]]
                Histogram[PropertyValue[{mr2, 3}, MeshCellQuality]]


                enter image description here






                share|improve this answer









                $endgroup$


















                  2














                  2










                  2







                  $begingroup$

                  Coarse cylinder



                  Using the Cylinder primitive seems to do the trick:



                  MeshRegion[
                  DiscretizeRegion[Cylinder[{{0, 0, 0}, {0, 0, 15}}, 50], MaxCellMeasure -> {1 -> 100}],
                  PlotTheme -> "Lines",
                  MeshCellStyle -> {1 -> Black}
                  ]




                  General region



                  Notice that the boundary is being discretized finer than you'd like. It looks like if we can workaround this, we could get a coarse mesh with higher quality elements.



                  One way is through stricter sampling options:



                  cyl = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];
                  mr = DiscretizeRegion[cyl,
                  MaxCellMeasure -> {1 -> 100, 3 -> 200},
                  Method -> {"RegionPlot3D", PlotPoints -> 6}
                  ];

                  MeshCellCount[mr]



                  {386, 1990, 2902, 1297}



                  MeshRegion[mr, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]




                  Histogram[PropertyValue[{mr, 3}, MeshCellQuality]]






                  Here's another example:



                  ball = ImplicitRegion[x^2 + y^2 + z^2 <= 50^2, {x, y, z}];

                  mr1 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100}];
                  mr2 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100, 3 -> 200},
                  Method -> {"RegionPlot3D", PlotPoints -> 6}];

                  MeshRegion[mr1, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]
                  MeshRegion[mr2, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]


                  enter image description here



                  Histogram[PropertyValue[{mr1, 3}, MeshCellQuality]]
                  Histogram[PropertyValue[{mr2, 3}, MeshCellQuality]]


                  enter image description here






                  share|improve this answer









                  $endgroup$



                  Coarse cylinder



                  Using the Cylinder primitive seems to do the trick:



                  MeshRegion[
                  DiscretizeRegion[Cylinder[{{0, 0, 0}, {0, 0, 15}}, 50], MaxCellMeasure -> {1 -> 100}],
                  PlotTheme -> "Lines",
                  MeshCellStyle -> {1 -> Black}
                  ]




                  General region



                  Notice that the boundary is being discretized finer than you'd like. It looks like if we can workaround this, we could get a coarse mesh with higher quality elements.



                  One way is through stricter sampling options:



                  cyl = ImplicitRegion[0 < x^2 + y^2 < 50^2 && 0 < z < 15, {x, y, z}];
                  mr = DiscretizeRegion[cyl,
                  MaxCellMeasure -> {1 -> 100, 3 -> 200},
                  Method -> {"RegionPlot3D", PlotPoints -> 6}
                  ];

                  MeshCellCount[mr]



                  {386, 1990, 2902, 1297}



                  MeshRegion[mr, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]




                  Histogram[PropertyValue[{mr, 3}, MeshCellQuality]]






                  Here's another example:



                  ball = ImplicitRegion[x^2 + y^2 + z^2 <= 50^2, {x, y, z}];

                  mr1 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100}];
                  mr2 = DiscretizeRegion[ball, MaxCellMeasure -> {1 -> 100, 3 -> 200},
                  Method -> {"RegionPlot3D", PlotPoints -> 6}];

                  MeshRegion[mr1, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]
                  MeshRegion[mr2, PlotTheme -> "Lines", MeshCellStyle -> {1 -> Black}]


                  enter image description here



                  Histogram[PropertyValue[{mr1, 3}, MeshCellQuality]]
                  Histogram[PropertyValue[{mr2, 3}, MeshCellQuality]]


                  enter image description here







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 34 mins ago









                  Chip HurstChip Hurst

                  25.4k1 gold badge61 silver badges100 bronze badges




                  25.4k1 gold badge61 silver badges100 bronze badges


































                      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%2f204967%2fnearly-equally-spaced-3d-mesh%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

                      Taj Mahal Inhaltsverzeichnis Aufbau | Geschichte | 350-Jahr-Feier | Heutige Bedeutung | Siehe auch |...

                      Baia Sprie Cuprins Etimologie | Istorie | Demografie | Politică și administrație | Arii naturale...

                      Nicolae Petrescu-Găină Cuprins Biografie | Opera | In memoriam | Varia | Controverse, incertitudini...