A minimal surface |

In this post, we describe how VaryLab can be used to create a minimal surface from scratch. We use the build-in primitives of VaryLab to create a start geometry and modify this using interactive editing as well as tabular data input. Subdivision steps are used to obtain finer resolutions and to create the final mesh. This mesh is then optimized to have the shortest edge lengths possible with certain boundary conditions. This gives a coarse approximation of the shape of a minimal surface with the given boundary.

### Creating a start geometry

The quad mesh generator dialog |

We start by creating a simple square with a generator from the menu Generators->Quad Mesh. Set the u and v resolution to 2 and uncheck the "Use Dimonds" box. This creates our start geometry, a quadrilateral. You can move the vertices in space by selecting and Shift-Mouse-Drag.

Initial quad-surface |

An alternative way of coordinate input is the data table in the data visualization panel. You can activate the coordinate table by selecting the VPosition data channel and choose a table visualization for vertices. The table shows the coordinates of either all or just the selected vertices.

Linear subdivision surface |

To obtain a finer surface resolution, we use several subdivision steps. From the menu choose Subdivision->CatmullClark. Here we can adjust subdivision parameters to create a linear subdivision and fixed boundary interpolation.

Coordinates can be edited in the data visualization panel |

Adjust the position of vertices that should remain in a fixed location and keep them selected. The optimization can fix selected vertices in all or just some dimensions.

### Optimization

Optimization user interface |

To start the optimization you can either choose to interactively optimize by pressing the Animate button. Or you can optimize the mesh for a predefined number of steps with the Optimize button.