XML.com

New release of mathling art support XQuery libraries

March 8, 2022

Submitted by Mary Holstege.

Announcing the 20220308 release of my art support XQuery libraries.

Full details here: https://mathling.com/code/art/README.html

Licensing: Generally licensed as CC-BY (https://creativecommons.org/licenses/by/4.0/) although some of the code is ports of BSD/MIT libraries.

What's in it? There's a lot, and I've been steadily porting/cleaning up more of my older code to share, and adding more tests and docs.

Random distributions: uniform, normal, skewed normal, Zipf, Bernoulli, Poisson, binomial Poisson, adhoc weighted, simple Markov chains

Basic geometric objects (points, ellipses, Bezier paths, polygons, etc) and basic operations over them (affines, projections, some containment/intersection, areas, lengths, splines). Some limited support for solid geometry as well.

Arrangements: grids, arcs, spirals, helixes; simple graph layout, Delaunay/Voronoi triangulation,  binary split trees, treemaps

Isohedral tiling (port of tactile.js)

Raw image read/write/dither.

Drawing of geometric objects to SVG  (or my domain-specific language, but I'm not sharing the rats nest that is my stylesheets yet, so that will be of limited value to anyone else)

Standard collection of SVG gradients and filters (plus hooks to Inkscape filters, but you have to install Inkscape yourself for that) and libraries for combining/altering them.

Colour space conversions, tonemapping

Noise functions: Open Simplex, Perlin, Worley, value, various flavours of fractal noise, various noise modifiers

Signed distance functions for various 2D and 3D shapes plus ray casting support based on SDF functions plus rendering functions

Some higher-level components such as L-systems, flow fields, modulated torus knots

Aho-Corasick string matching

Tested on Saxon 10.6 (some advanced stuff depends on Saxon-PE, although I've tried to encapsulate those parts)

Definitely requires XQuery 3.1


News items may be commercial in nature and are published as received.