[ANN] Meshes.jl - Computational Geometry in Julia

Meshes.jl v0.56

It is been a long time since our last update here. I am just bumping the thread to say that Meshes.jl v0.56 is out with lots of fixes and performance improvements. If you didn’t update your environment in a while, now it is a good time.

For those interested in non-Euclidean geometry, we have refactored our internal discretization routines massively to get optimal performance with “flat” geometries, and custom refinement with geometries over other manifolds. Below are a few examples of 1D Bezier curves and 2D triangles embedded on Earth’s surface:

using Meshes
using CoordRefSystems
import GLMakie

curves = rand(BezierCurve, 10, crs=LatLon)
triangles = rand(Triangle, 2, crs=LatLon)

viz(curves, color="cyan")
viz!(triangles, color="red")

You can control the level of refinement with the MAXLEN scoped value as documented here:

By default, we use 500km as the maximum length of segments in the refined meshes over the Earth surface. Some applications might require smaller tolerances:

using ScopedValues

with(Meshes.MAXLEN => 100km) do
  viz(triangles) # finer meshes in visualization
end
14 Likes