Simple geometries

Eight small meshes, flat and curved, each damaged in its own way and smoothed under the constraints that suit it.

view

shows

panels

left the input, right the stage picked with the slider (or play); quads coloured by worst-corner scaled Jacobian, red at or below zero (inverted) through yellow to green at one

histogram

every quad’s scaled Jacobian, input (grey) against the picked stage (blue); quads left of the dashed red zero line are inverted

history

minimum and mean scaled Jacobian after each stage; the vertical line marks the picked stage

Key points

  • Inverted input recovers: a mesh that starts with inverted quads has a negative minimum and ends with none.

  • Good input mostly moves its mean, not its minimum.

  • Size does not follow curvature (the ellipsoid): the shape metric knows angles, not curvature, so elements do not get smaller where the surface curves more.

The numbers

geometry

built by

quads

inverted

min scaled J

mean scaled J

annulus

examples/smoother/quad/01_basics.py

196

0 → 0

0.2376 → 0.9399

0.8117 → 0.9862

disk

examples/smoother/quad/03_constraints.py

132

8 → 0

-0.6383 → 0.8564

0.6423 → 0.9783

pipe section

examples/smoother/quad/cs_pipe_section.py

228

0 → 0

0.4200 → 0.8082

0.9416 → 0.9833

box

examples/smoother/quad/03_constraints.py

150

0 → 0

0.2574 → 1.0000

0.8835 → 1.0000

sphere

examples/smoother/quad/04_curved_surfaces.py

150

3 → 0

-0.3195 → 0.8681

0.7873 → 0.9727

ellipsoid

examples/smoother/quad/04_curved_surfaces.py

150

5 → 0

-0.5528 → 0.8511

0.7966 → 0.9611

torus

examples/smoother/quad/04_curved_surfaces.py

200

3 → 0

-0.5154 → 0.9477

0.7849 → 0.9807

hemisphere

examples/smoother/quad/cs_hemisphere.py

180

0 → 0

0.6562 → 0.8131

0.9219 → 0.9594

Run python examples/smoother/quad/<script> for the script named in a row to reproduce; it prints these numbers.

Notes and caveats
  • The geometries: an annulus, a disk, a pipe section, the surface of a box, a sphere, an ellipsoid, a torus and a hemisphere.

  • On the 3-D surfaces, drag either panel to orbit both; they need JavaScript and load vtk.js from a CDN.

  • The 3-D surfaces keep only a few evenly spaced stages in their data, so their history has fewer points.

  • The table compares the input with the last stage, read from the same data the viewer plays.