Hot answers tagged

58 votes
Accepted

A geometric multigrid solver for Mathematica?

Background Details about multigrid solvers can be found in this pretty neat script by Volker John. That's basically the source from which I drew the information to implement the V-cycle solver below. ...
user avatar
43 votes
Accepted

How to perform Loop subdivision on a triangle mesh with Mathematica?

We need quite a bit of preparation. In the first place we need methods to compute cell adjacency matrices from here. I copied the code for completeness. ...
user avatar
40 votes
Accepted

Smoothing 3D contours as post processing

As announced before, here my take on the mean curvature flow for surfaces. The code is rather lengthy and I tried to recycle as much as possible from this post about finding minimal surfaces (solving ...
user avatar
25 votes
Accepted

Catmull-Clark and Doo-Sabin Subdivision Implementations

Catmull-Clark Subdivision Indeed, I have some code for Catmull-Clark subdivision and I planned to post it here for quite some time. This seems to be a good opportunity. The code is optimized for ...
user avatar
24 votes
Accepted

Triangular mesh of random points on a sphere

It seems to me that the logo has three semitransparent layers of triangle meshes. One can start with discretized sphere ...
user avatar
  • 42.9k
24 votes

Making holes from maze generated Graphics3D

Lets start by making a symbolic representation of maze, with BooleanRegion using graphic primitives. That will be our basis for discretization by any method. Number ...
user avatar
  • 6,403
23 votes
Accepted

Making holes from maze generated Graphics3D

Here's an approach that unions the primitives as rasters, meshes, and smooths. Data from OP: ...
user avatar
22 votes
Accepted

Making a graph or network interactively over an image

There are many ways to do this, modifying, improving my method or doing a completely different thing. My goal here is to show a very basic idea that should give you a start. ...
user avatar
21 votes
Accepted

How to generate a mesh with quadrilateral elements?

Based on the tutorial here QuadElement meshes behave exactly the same as TriangleElement meshes, with the exception that, for linear quad elements, four incidents per element are needed, and, for ...
user avatar
  • 7,237
20 votes
Accepted

Eliminate an unexpected mesh line

The blue line occurs at the edge of the function, where ϕ wraps from to 0. We can get ...
user avatar
  • 7,634
20 votes
Accepted

How to access FEM shape functions

There are no surface element shape functions. There are, however, the normal shape functions. Load the package: Needs["NDSolve`FEM`"] This gives you the ...
user avatar
  • 36.3k
20 votes
Accepted

How to get a specified number of points that are nearly equally spaced in a closed rectangle

There is a neat (and widely known) trick to produce n approximately evenly distributed points in a disk, or on any surface of revolution. Points are placed on a ...
user avatar
  • 225k
19 votes
Accepted

Hexagonal Mesh on a 3D surface

Update: With the function top defined in the original post you can replicate all the cool things you see in rm-rf's answer in the linked Q/A. For example, with a ...
user avatar
  • 350k
19 votes

Voronoi tessellations on meshed surfaces

Using the Geodesics in Heat Algorithm implemented here, we can calculate the distances of all vertices on the surface to a given vertex. By repeating this algorithm on a selected subset of vertices on ...
user avatar
  • 3,606
19 votes

A geometric multigrid solver for Mathematica?

3D Example The problem with direct solvers is that starting in 3 dimensions, their performance for dealing with matrices stemming from PDEs drops rapidly. This is why I wanted to show at least one 3-...
user avatar
19 votes
Accepted

Smoother jelly / water effect on an image

perhaps: ...
user avatar
  • 350k
18 votes
Accepted

FEM: how to choose FEM element type

There is good news and bad news. So right now there is no option to make MeshRegion use Hex elements. However, you can use ...
user avatar
  • 36.3k
18 votes

DelaunayMesh in a specified closed region - creating a concave hull from a set of points

What you want is the 2D alpha shape to try to get close to the outline you seek. Of course, it's no longer a Delaunay triangulation since you're deleting certain polygons from the ...
user avatar
  • 32.5k
18 votes

How to generate a mesh with quadrilateral elements?

Here is a different approach. The idea is to first generate a second order triangle mesh. Next a center coordinate is added in every triangle. Then we split every triangle into three first order quads ...
user avatar
  • 36.3k
18 votes
Accepted

How to obtain the cell-adjacency graph of a mesh?

I think, I found a general and even faster way, but I haven't tested it for $1$- or $3$-dimensional MeshRegions. The following function computes the cell-vertex-...
user avatar
17 votes
Accepted

How to convert a surface into a solid

Method 1: Construct mesh elements manually We can triangulate a periodic quad-lattice on the surface: ...
user avatar
  • 217k
17 votes

Lloyd relaxation on VoronoiMesh

Here's my take on Lloyd's algorithm. The code I present here should not be too hard to encapsulate into a routine; I have only elected to present it in this way so that I can animate the progress of ...
user avatar
17 votes
Accepted

How to mesh a region using adaptive cubic elements

I discarded my previous approach to generate cubes, then fuse them together, since it seems to do a lot of wasted work. Instead, I propose here my version of a cartesian mesher. The approach is ...
user avatar
  • 60.6k
17 votes

Catmull-Clark and Doo-Sabin Subdivision Implementations

Doo-Sabin Subdivision To my own surprise, Doo-Sabin subdivision is in many ways much easier to implement than Catmull-Clark subdivision. The only real problem I met was to compute the faces created at ...
user avatar
17 votes
Accepted

Creating a Hexagonal Lattice with VoronoiMesh

Here is what I was suggesting in comments: ...
user avatar
  • 60.6k
16 votes
Accepted

representation of custom deformation on a meshgrid

You have to create your own mesh and you have to convert your u and v to mesh interpolations....
user avatar
  • 217k
16 votes

How to generate a mesh with quadrilateral elements?

That's not possible in general in V11.0. The only primitive from which a quad mesh can be generated is ToElementMesh[Rectangle[]] or ...
user avatar
  • 36.3k
16 votes

How to generate a mesh with quadrilateral elements?

this is a bit of a hack but it works for this example: generate separate rectangle meshes -- note the connected edge nodes must be exactly coincident. ...
user avatar
  • 38.3k
15 votes

DelaunayMesh in a specified closed region - creating a concave hull from a set of points

I was writing this code because when I googled "Concave Hull Mathematica" I didn't find this post. I went through the trouble of taking this code and improving the performance, and bringing it up to ...
user avatar
  • 63.3k
15 votes

How to generate a mesh with quadrilateral elements?

Edit: This method is now implemented as StructuredMesh function (2D and 3D) in FEMAddOns package. With minor enhancements it is also implemented in MeshTools ...
user avatar
  • 6,403

Only top scored, non community-wiki answers of a minimum length are eligible