Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Matt Zucker

@matt_zucker@mastodon.social
mastodon 4.8.0-nightly.2026-10-06
  • Open on mastodon.social

Why do it by hand if you can code it in just quadruple the time?
he/him

558 Followers
214 Following
27 Posts
Joined October 13, 2024
Coding blog:
https://mzucker.github.io/
Shadertoy:
https://www.shadertoy.com/user/mattz
Location:
Philadelphia, PA
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
Want more than one tile design? NP, just glue together multiple sheets along their shared edge. If you look closely at the wooden tiles you'll see there are three distinct tile designs. And here are two different icosahedron tilings, one with a single tile design, and one with every tile unique.
15
2
5
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 2mo ago
Replying to
@unnick@booping.synth.download here are two things you could try: 1) spherical area coordinates are one way of generalizing barycentric coordinates to the sphere, check out https://brsr.github.io/2023/11/04/spherical-areal.html 2) you could fit a homogeneous polynomial of the form c200*x^2 + c020*y^2 + c002*x^2 + c110*x*y + c101*x*z + c011*y*z and sample it. this framework is described in Alfeld et al. 1996 "Bernstein-Bézier polynomials on spheres and sphere-like surfaces." https://www.researchgate.net/profile/Mike-Neamtu/publication/2509001_Bernstein-B'ezier_Polynomials_on_Spheres_and_Sphere-Like_Surfaces/links/540daaef0cf2d8daaacc78c4/Bernstein-Bezier-Polynomials-on-Spheres-and-Sphere-Like-Surfaces.pdf I have played with both approaches and...
brsr.github.io
2
1
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
If you liked this thread, check out my very infrequently-updated coding blog at https://mzucker.github.io/ for other #MathArt projects and miscellaneous tinkering. And feel free to reply with questions – I'll do my best to answer them here.
mzucker.github.io
6
2
2
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
The wooden tiles were exhibited previously at the 2026 JMM art exhibition, and I just learned that the spherical tilings and red squares were accepted for the art exhibition at Bridges Galway 2026 from August 5-8: https://www.bridgesmathart.org/b2026/ Come check them out if you're in the neighborhood!
bridgesmathart.org
5
11
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 2mo ago
Replying to
@unnick@booping.synth.download my vague recollection is that approach (1) will give the area property you want but does not reduce to slerp on the edges and (2) does reduce to slerp on the edges but doesn't have the area property but don't take my word for it without trying it out. Both approaches will handle the case of a triangle defined over (1, 0, 0), (0, 1, 0), (0, 0, 1). Let me know if it would be helpful to post a Python/numpy/matplotlib script demoing these approaches
1
1
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
"Truchet tiling" means that that each tile can be rotated in place or swapped with another of the same shape without breaking up the pattern. To get this you need the tiles' edges to all be identical and mirror-symmetric. This is not obvious at first glance when looking at the overall tiling, IMO.
4
1
1
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
And after a few extra hacks to mitigate some unpleasant visual artifacts, it all Just Works™. Of course I wrote an academic paper with all of the gory details – look for it in the upcoming Bridges 2026 conference proceedings. Here's a figure that gives a taste of what the software does.
4
12
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
Oh, and here are some planar variants I made, too. The left one is CNC-machined walnut and maple, because it seemed like a really cool idea before I realized exactly how much hand-sanding would be involved (too much, it was too much sanding). The right one is 3D-printed nylon.
3
28
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
OK, so what's "reaction-diffusion" then? In brief, it's a mathematical model of a chemical reaction that produces patterns similar to many found in nature. For more info, see https://www.karlsims.com/rd.html and/or https://mrob.com/pub/comp/xmorphia/index.html
karlsims.com
3
25
2
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
More interesting RD tilings are possible. Recently, Vladimir Bulatov has been making some really cool patterns with his SymSim software – check it out at https://symmhub.github.io/SymmHub/apps/symsim/gray_scott/index.html
symmhub.github.io
3
20
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
RE: https://mastodon.social/@matt_zucker/114389429207956266 (BTW if these orbs look familiar, maybe you saw the thread I posted about a year ago about similar work I did.)
mastodon.social
2
26
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
But until I started this project, I don't think anyone was daft enough to make reaction-diffusion Truchet tiles that match up no matter how you reorient them. The central trick is to solve the Gray-Scott PDEs on an unusual topological domain that collapses all of the edges into a single segment.
2
1
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
I had to write a homemade finite element method (FEM, https://en.wikipedia.org/wiki/Finite_element_method) solver to simulate the Gray-Scott model on this weirdo domain. FEM solvers tend to throw up their hands and quit when you point them at non-manifold geometry like the folded and glued square, but I hollered at mine until it started behaving.
en.wikipedia.org
2
1
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
@kbob@chaos.social For PBC on a square grid you can use an extra layer of grid squares outside the tile, but they are not fixed – they copy values from the opposite side of the domain. See e.g. page 3 of https://www.josstam.com/_files/ugd/cf1fd6_9989229efbd34a26ba5ccd913721a2ac.pdf But I'm not using square grids - that would be the finite difference method. Instead I use triangle meshes with the finite element method. Much better for shapes like pentagons with no right angles.
josstam.com
1
1
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
@kbob@chaos.social more like the latter
1
0
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
Here's what it looks like, starting with a square sheet (a). First, fold it into quarters (b), then fold diagonally to put all of the boundary edges on top of each other (c). Finally, glue all of the edges together (d).
1
18
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
Now all four corners of the square are mathematically considered to be the same point, as are any set of points along a boundary edge that are all the same distance away from the corner. BTW when solving the PDEs, we don't consider the effects of the folds, just the "glue".
1
17
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
@jannem@fosstodon.org Yep!
1
0
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
Making reaction-diffusion patterns amounts to solving a system of partial differential equations (PDEs) – the Gray-Scott model – that describe the simulated chemical reaction. The formula might look like Greek, but it's not too exotic from a math/coding standpoint.
0
22
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
Making RD patterns that tile like wallpaper is easy – apply periodic boundary conditions (PBCs, https://en.wikipedia.org/wiki/Periodic_boundary_conditions) when solving the PDEs. PBCs are like the old-school Pac-Man arcade game: crossing the left side of the "screen" warps you to the right side, and ditto for top/bottom.
en.wikipedia.org
0
1
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
You can definitely play with symmetry when laying out the tiles. Here's those same red plastic tiles from before, and again after re-arranging to make a composition with 90° rotational symmetry. How many unique tile designs do you see here? (Hint, it's the same in both images.)
0
14
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
@jannem@fosstodon.org Flips? Not sure how to deal with them with my folded-in-half (symmetric) edges, so I would have trouble answering this without thinking a lot harder.
0
1
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 2mo ago
Replying to
@unnick@booping.synth.download some quick experimentation in python reveals that for the polynomial for interpolating between 3 points it is sufficient just to use the c200, c020, and c002 coefficients (don't need the xy/xz/yz terms). checking now to see how it lines up against slerp
0
1
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
@Gmatom instantly recognizable!
0
0
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
@jannem@fosstodon.org not quite torus geometry. A torus is a manifold (https://en.wikipedia.org/wiki/Manifold) and my folded-square-thing is most definitely not. Torus would be the same as the "Pac-Man" periodic boundary conditions I alluded to earlier. That gives two distinct edges that loosely correspond to the "equator" and "prime meridian" of the torus. Yes for multiple patterns you need to have multiple sheets sharing the same edge. (cont'd...)
en.wikipedia.org
0
4
0
0
Open post
Matt Zucker @matt_zucker@mastodon.social
· 5mo ago
Replying to
@bazzargh@hachyderm.io neat!
0
0
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 05:24:13 UTC