#GeometryProcessing

Kevin Moerman 🔓🦿kevinmoerman@fediscience.org
2025-06-27

Evaluating of simple #additivemanufacturing cost function metrics (build height, footprint area, support volume, overhang area, ... ). The model is rotated and all metrics are computed, next the sphere is "painted" to show the magnitude of that metric for that orientation (sum of the lengths of the black lines as estimate of support material use). This way the sphere provides a nice summary visualisation of which orientations are best e.g. in terms of minimising support material use.

#geometryprocessing #3dprinting #opensource #julialang

Kevin Moerman 🔓🦿kevinmoerman@fediscience.org
2025-06-17

Just a bunny rotating according to a uniform set of directions on the sphere. The bunny is colored towards the "overhang" angle with respect to the ground. The black area on the ground is the projection of the bunny onto the ground (a bit like a shadow). This is a simple toy simulation that computes some metrics relevant to the simulation of 3D printing preparation.

#geometryprocessing #Julialang #Comodo #ComputationalDesign

Kevin Moerman 🔓🦿kevinmoerman@fediscience.org
2025-05-16

Whoopsy

(setting the levelset value too low for a Gyroid shell reconstruction leads to a crummy mess)

#geometryprocessing #JuliaLang #Makie

Kevin Moerman 🔓🦿kevinmoerman@fediscience.org
2025-05-14

And, yep it works for the Batman curve too. Always an important test.

The left image shows interior triangulation and right image shows exterior triangulation. In both cases the algorithm computes angles on the input boundary segments (blue curve) and creates triangles where the angle is smallest and below a threshold. Next the boundary is updated to include the new line segment introduced by the new triangle, and the point "skipped" by adding this triangle is removed from the boundary list. The process continues until there are no more triangles to add. Here I set the threshold to 180 degrees so you get a fully triangulated state.

#opensource #geometryprocessing #JuliaLang #Makie #Comodo

This image shows a 2D curve known as "the batman curve". It is essentially like the boundary of the batman logo. It is a good test curve as it has sharp features (like the ears and wing tips). In the image on the left the interior of the batman curve is filled with triangles. It looks a bit like the triangles are formed by "zig-zagging" from one boundary point to another, starting from a sharp corner and moving in. The triangles are shown in red and their edges are black lines. On the right the exterior is triangulated, or, put more accurately, the space between the curve and its convex hull is triangulated. It again looks like triangulation started from a sharp (inward this time) region and proceeded to zig-zag to fill the space.
Kevin Moerman 🔓🦿kevinmoerman@fediscience.org
2025-05-13

These are so-called "incircles", and they look more well-behaved for our friend the Stanford Bunny.

en.wikipedia.org/wiki/Incircle

#geometryprocessing

Kevin Moerman 🔓🦿kevinmoerman@fediscience.org
2025-05-07

A circumcircle is a circle that circumscribes a triangle's corner points. Plotting them for a regular mesh (sphere) looks pretty, for an irregular mesh (rabbit) it looks like it has odd piercings everywhere.

en.wikipedia.org/wiki/Circumci

#geometryprocessing

A white triangulated sphere in 3D space featuring red circumcircles across the entire surface.A white triangle in 3D space featuring a red circumcircleA white triangulated rabbit in 3D space featuring red circumcircles across the entire surface.
Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2025-04-25

When you're the geometry processing nerd in the department colleagues ask you to help with all sorts of things.

#GeometryProcessing #JuliaLang

2025-01-07

I can highly recommend the Summer Geometry Initiative (SGI) by @JustinMSolomon. It is a six-week paid summer #research program introducing undergraduate and graduate students to the field of #geometryProcessing. Details: sgi.mit.edu applications due February 17, 2025.

Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-11-17

Working on automated quasi-structured hexahedral meshing of branched structures in #Comodo.

My current solution features a lot of fun tricks, e.g. ray tracing, distance marching, surface smoothing, Bezier splines, lofting, thickening etc.

#JuliaLang #opensource #GeometryProcessing #ComputationalDesign #Biomechanics

A surface (left) and hexahedral mesh (right) visualisation of a main upright cylindrical vessel featuring a single side branch coming out of the main trunk at 45 degrees. In the image on the left the main trunk is red, the side branch is blue and a smooth intermediate transition region is coloured in yellow. The image on the right shows a thickening of this quadrilateral surface mesh into hexahedral elements.
Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-11-04

Was working on surface closure methods, and was using a torus as a test surface (since it has two "periodic" mesh directions to close over).

Son: "What yah making papa?"
Me: Oh I'm using this doughnut to..
Son: That is not a doughnut! That is the wrong color.
Me: Okay, let me render it brownish and..
Son: No, you need to add chocolate too, and sprinkles of all colors!
Me (15 min later): Got it!

#JuliaLang #Comodo #GeometryProcessing #ComputationalDesign

A 3D model of a chocolate covered doughnut with colorful sprinkles on top.An open circular curve e.g. a nearly closed C-shape, was revolved to be nearly closed. Hence the shape looks like a torus/doughnut but has a cut along the outer boundary and is cut vertically at one point.Same as previous but not the vertical cut has been "cured" or closed over. The but along the outer boundary remains.Same as previous, a 3D model of a torus or doughnut, now fully closed. The torus is visualised in white and the black mesh lines show it meshed using quadrilateral elements.
Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-10-30

And truncating these (cutting the spikes off) is fun too.

Here I cut so the upward edge lengths are the same as the equatorial edge lengths. It produces rather pleasing pentagonal rings.

#Comodo #GeometryProcessing #ComputationalDesign #JuliaLang

Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-10-30

Meet the n-trapezohedron.

Recipe: put 2*n points around the equator, and 2 more for the poles. Now form n top faces and n bottom faces (all quadrilateral). Now alter the points so that all faces are planar.

High n-values give spiky diamond like things. But the special case with n=3 produces the humble cube!

More here too:
en.wikipedia.org/wiki/Trapezoh

Nice set of equations describing the shapes:
mathworld.wolfram.com/Trapezoh

#Comodo #ComputationalDesign #GeometryProcessing #OpenSource #JuliaLang

Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-10-28

Meet the "Pyritohedron", named after the shapes seen in the crystals of the mineral pyrite.

en.wikipedia.org/wiki/Dodecahe

These shapes are involved in the Weaire-Phelan bubble structure:
en.wikipedia.org/wiki/Weaire%E

I am working on these as I am implementing various foams and lattice structures in #Comodo #JuliaLang

#opensource #GeometryProcessing #ComputationalDesign

Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-08-23

Working on mesh edge angle analysis in #JuliaLang. Left is the @FreeCAD model, right is the #Comodo mesh edge angle analysis. This will enable surface feature segmentation, e.g. top, inner, sides etc.

#opensource #CAD #FreeCAD #ComputationalDesign #GeometryProcessing

github.com/COMODO-research/Com

Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-06-02

Went with another classic, the dragon statue.

This shows triangulated surface remeshing using a (very basic) #JuliaLang wrapper for @BrunoLevy01 et al.'s fantastic Geogram library (github.com/BrunoLevy/geogram).

#GeometryProcessing #Meshing #ComputationalMechanics #ComputationalDesign

A set of four 3D model renderings of a snake-like dragon statue. Each one is sampled at a different density using the remeshing algorithm.
Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-05-02

Using colors it becomes clear how this relates to the mesh dual. The original mesh (fully orange) can be morphed into the dual mesh (fully purple). Intermediate results allow one to define two lattices, one obtained by connecting orange+green and one purple+green.

#ComputationalDesign #GeometryProcessing #Julialang

Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-04-24

Now adding multi-region meshing whereby each meshed region can contain multiple meshed regions and holes, and each region can have its own point spacing defined.

#julialang #Comodo #GeometryProcessing

A triangulated mesh on a circular domain containing a circular hole and a meshed circular domain containing a circular hole and a meshed circular... and so on. This is a test object for the multi-region meshing method.Same as previous but with rounded star shaped domains which present with a higher curvature than the circular domains.
Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-04-23

Getting there. These images show tests of a triangulation algorithm I've developed that uses Delaunay triangulation. It features mostly equilateral triangles except for at the boundaries.

#julialang #GeometryProcessing

Visualisation of a triangulated mesh on a 3 petal flower like shape. The algorithm features mostly equilateral triangles, with compromises (in terms of edge angles and triangle shape) for the boundaries.Same as previous image but now the boundary is the Batman logo. This shape features sharp transitions which is good for testing how the algorithm copes with these.
Kevin Moerman 🔓🦿:julia:kevinmoerman@fosstodon.org
2024-04-19

Coming soon to #comodo: constrained #Delaunay triangulations. Which I decided needs parameterized #Batman curves too for testing purposes 🦇

#julialang #GeometryProcessing #meshing #ComputationalDesign

Visualisations of Delaunay triangulation of a curve that looks like the Batman logo. From the left to the right are:  A full triangulation (which triangulates the convex hull). A constrained triangulation that conforms to the boundary. The same but now also featuring a circular hole in the centre.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst