Waiter, there are fish in my Rust
summary
Recreates Escher’s Square Limit by encoding the painters method: images are functions that accept a box and return lists of SVG draw commands; boxes are 3-vector transforms (origin, x and y axes) used to flip, toss, rotate and tile a fish motif. Implementation uses Rust vectors from crates, Rc reference counting to avoid lifetimes, and composes nine recursive tiles into the final grid. The talk ties the code to Peter Henderson’s functional geometry paper and notes awkwardness from Rust’s strict types compared with dynamic functional languages.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:58Recursion with painter’s algorithm
- 3:24Box abstraction for images
- 5:14Flip and transform with vectors
- 7:02Flip box in Rust
- 8:26Pictures as functions
- 9:49Toss and combine transforms
- 11:58Higher-order image composition
- 13:22Escher’s Square Limit
- 16:14Fish tile concept
- 18:43Fish tiles pattern
- 20:53Recursion challenges in Rust
- 24:49Final code structure
- 25:53Functional geometry paper
- 27:19Extending to circle limits
- 30:53Q&A
related talks
23mRust for Artists. Art for Rustaceans.
33mRust and Haskell, sitting in a tree
37mCraig's Amazing Rust Spectacular
41mNightgraph: Putting Code to Paper with Rust
24mArtisanal Rendering: Make Your Own Computer Art!
40mWriting a simple game in Rust
02h 13m2D Graph scene in Rust
23mCraig's Angular/Rust Spectacular
