ZdogXperiments
experiments with zdog
Install / Use
/learn @gregja/ZdogXperimentsREADME
zdogXperiments
experiments with zdog
I discovered Zdog in the beginning of june 2019 and I liked it immediately. It's a really cool project, so I decided to make some experiments with it. This github repository is the result of those experiments. It's just the beginning, I have a lot of other ideas to test ;)
Note that for all shapes, it's possible to zoom with arrow keys, to reset the zoom with the escape key, and to "click & drag" to rotate the shape.
To test the algorithms, just download the zip of this repository, unzip it, double-click on "index.html", and follow the links.
Follow this link to watch the live demo of this project :
http://ledefrichoir.com/labo/zdogXperiments/
The content of the project :
-
3D Cube : cube generated programmatically, with two types of render : "wireframe" and "paint" (for the "paint" mode, colors are generated by Chroma.js)
-
3D shapes : shapes generated programmatically => cube, pyramid, icosahedron, cone, 2 spheres, 2 cuboïds, 2 cylinders, tube, diamond and double diamond (both generated with tube shape), calices (2 variants generated with tube shape), strange fruits (2 variants)
-
Load wavefront obj files V1 (*) : cube, dodecahedron, icosahedron, and a lot of other objects, found on this site : http://people.sc.fsu.edu/~jburkardt/data/obj/obj.html
-
Load wavefront obj files V2 (*) : V1 with asynchronuous loading of the 3D objects (better practice using the Fetch API)
-
Load wavefront obj files V3 (*) : V2 with a "paint" mode (the same used for "3D Cube" and "3D shapes")
-
Menger Sponge & Flake generators : adaptation of algorithms of Frido Verweij (https://library.fridoverweij.com/codelab/menger_fractals/)
-
Tunnel 3D : shape generated using an algorithm of Niklas Knaack, found on this pen : https://codepen.io/NiklasKnaack/pen/WyWqja
-
8 cubes linked
-
8 cubes linked and clickable : how to set a list of clickables shapes with Zdog and a ghost canvas (*2)
-
Parametrical surfaces : (big update the 2020-01-01) Ellipsoid, Sphere, Torus, Hyperboloid, Cone, Pseudo-sphere, Helicoid, Katenoid, Möbius ribbon, Klein bottle, Limpet torus, triaxial hexatorus, saddle torus, triaxial tritorus, bow curve, and a lot of new weird creatures
-
Parametrical surfaces customizable (NEW)
-
Magnetic cubes
-
Solar system (n-body algorithm) (=> experimental, for fun, not finalized)
-
XWing
-
Complex 3D object created with 3 primitives (*3)
-
3D animals running (*4)
-
3D shape generator (*5)
-
Boxman, a robot walking (*6)
-
Grid of cubes swinging
-
Calabi-Yau manifold (*7)
-
Segments for puppets - 5 examples (*8)
-
Leap Motion with Zdog - draw hands (*9)
-
Cuboid generated with Delaunay Triangulation (*10)
-
3D Objects excavated (*11)
-
Constructive Solid Geometry with csg.js (new) (*12)
(*) Note that the import OBJ algorithm is largely inspired by a similar algorithm found on Phoria.js, of Kevin Roast : http://www.kevs3d.co.uk/dev/phoria/
(*2) see improved version by José (thank's José): https://codepen.io/ncodefun/pen/aggZKP
(*3) recreation with zdog of : https://library.fridoverweij.com/codelab/3d_wireframe/
(*4) recreation with zdog of : https://codepen.io/hankuro/pen/QMVLJZ
(*5) inspired by an example excerpt of the book of Nikolaus Gradwohl : "Processing 2: Creative Programming Hotshot", Packt Publishing 2013
(*6) inspired by a pen of Hankuro : https://codepen.io/hankuro/pen/LrbVrx
(*7) inspired by this tutorial : https://observablehq.com/@sw1227/calabi-yau-manifold-3d
(*8) inspired by the book : "Foundation HTML5 Animation with JavaScript" of Billy Lamberta and Keith Peters (ed. Apress), http://lamberta.github.io/html5-animation/
(*9) you'll find different links (docs and tutorials) in the beginning of the JS code
(*10) Source of the Delaunay algorithm : https://github.com/ironwallaby/delaunay.git
(*11) Adaptation for Javascript of an algorithm excerpt from the book : "Graphisme 3D en Turbo Pascal", Gérald Grandpierre and Richard Cotté, édiTests 1988
(*12) Link to the project csg.js : http://evanw.github.io/csg.js/
A lot of examples of this project are visible on my pens : https://codepen.io/gregja/
Link to this github repository : https://github.com/gregja/zdogXperiments
Link to the official site of Zdog : https://zzz.dog/
Related Skills
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.2kCommit, push, and open a PR
