/ concept-collection / qhull-wasm-demo
Sign in
concept-collection / qhull-wasm-demo
qhull-wasm-demo / README.md
45 lines · 1.9 KBCodeBlameHistory
3Interactive demos and benchmarks for
4[qhull-wasm](https://github.com/magland/qhull-wasm) — [Qhull](http://www.qhull.org)
5compiled to WebAssembly for computing convex hulls and Delaunay triangulations
6in the browser.
8**Live:** https://concept-collection.github.io/qhull-wasm-demo/
10- **2D Triangulation** — Delaunay triangulation + convex hull of a point set;
11 click to add points, switch distributions, toggle circumcircles.
12- **3D Convex Hull** — triangulated hull of a 3D point cloud, rendered with
7d345963D hull: download the mesh in Gmsh formatJeremy Magland 13 three.js (drag to rotate). The hull can be downloaded as a Gmsh `.msh` mesh
14 (e.g. to feed into
15 [mesh-converter](https://github.com/concept-collection/mesh-converter)).
283cae2qhull-wasm demo: 2D/3D triangulation, convex hull, and Delaunay benchmarksJeremy Magland 16- **Benchmarks** — times Delaunay triangulation in the browser, alongside a
17 `.m` script that runs identically in MATLAB, Octave, and
18 [numbl](https://numbl.org) (all triangulate via Qhull) for an apples-to-apples
435c5b9Fix stale-index crash on shrinking point count; add desktop reference timingsJeremy Magland 19 desktop-vs-browser comparison. See [scripts/qhull_benchmark.m](scripts/qhull_benchmark.m):
21 ```
22 matlab -batch qhull_benchmark # MATLAB
23 octave qhull_benchmark.m # Octave
24 numbl run qhull_benchmark.m # numbl
25 ```
27 Reference desktop timings, Delaunay in ms (one Linux laptop — hardware-dependent):
a68af31Add Octave reference timingsJeremy Magland 29 | N | numbl 2D | numbl 3D | Octave 2D | Octave 3D | MATLAB 2D | MATLAB 3D |
30 |--------|---------:|---------:|----------:|----------:|----------:|----------:|
31 | 1,000 | 4.1 | 16.5 | 4.5 | 10.1 | 21.1 | 21.3 |
32 | 5,000 | 18.6 | 54.3 | 12.2 | 61.3 | 28.6 | 185.5 |
33 | 20,000 | 65.5 | 287.3 | 55.6 | 336.3 | 179.9 | 624.2 |
34 | 50,000 | 154.7 | 757.0 | 174.9 | 973.9 | 373.8 | 1703.9 |
36## Develop
38```bash
39npm install
40npm run dev # local dev server
41npm run build # production build -> dist/
42```
44Deployed to GitHub Pages by [.github/workflows/deploy.yml](.github/workflows/deploy.yml)
45on push to `main`.
moveopenescclose