3 ms·
Truchet Tiles
- onion2k 1y agoTruchet tiling is a staple of the shader community - https://www.shadertoy.com/results?query=Truchet https://www.shadertoy.com/results?query=Truchet A particularly nice example - https://www.shadertoy.com/view/4td3zj https://www.shadertoy.com/view/4td3zj And a nice '3D' one - https://www.shadertoy.com/view/4lSBzm https://www.shadertoy.com/view/4lSBzm
- drewnoakes 1y agoThey also come up a lot in pen plotter art.
- JKCalhoun 1y agoLike the hexagonal one.
- joshu 1y agosome truchet tiles i did for a plotter a million years ago: hex: https://www.instagram.com/p/B2TRmM7p1BB https://www.instagram.com/p/B2TRmM7p1BB https://www.instagram.com/p/B2Q130pJwum https://www.instagram.com/p/B2Q130pJwum rectangular: https://www.instagram.com/p/BxUMO05p3Cx https://www.instagram.com/p/BxUMO05p3Cx https://www.instagram.com/p/BxO1H3cJ57V https://www.instagram.com/p/BxO1H3cJ57V
- gilleain 1y agoNice. It's a shame that regular octagons do not tile the plane. Octagons + squares might work I suppose.
- pavel_lishin 1y agoMan, I've tried writing my own version of things like this, but it ended up looking like pubes on paper.
- joshu 1y ago10 PRINT CHR$(205.5+RND(1)); : GOTO 10
- WantonQuantum 1y agoI used to do this on my VIC-20 a million years ago. Just looking at this line brought back the visual image like it was yesterday.
- teddyh 1y agopython3 -c 'import random, time, itertools; any(time.sleep(0.01) or print(random.choice("\u2571\u2572"), end="", flush=True) for x in itertools.repeat(None))'
- binaryturtle 1y agohttps://github.com/the-real-tokai/macuahuitl/blob/master/temo.md https://github.com/the-real-tokai/macuahuitl/blob/master/tem... (how about this fancy version with SVG output? :D No longer a single line though.)
- o11c 1y agoQuite a few bytes can be golfed out of that still: python3 -c 'while I := __import__: I("time").sleep(0.01); print(I("random").choice("\u2571\u2572"), end="", flush=1)' My reasoning including most failures: Whitespace is mostly trivial and not worth mentioning, except that the space between "or" and "print" can be eliminated by moving the `time.sleep` to before a string literal. Alternatively, using `!=` works almost anywhere (though not with some alternative ideas), or `;` with the `while` version. There are several shorter ways to get an infinite loop: itertools.repeat(None) # for reference itertools.repeat(0) itertools.count() iter(lambda: 0, 1) # also removes the import, so 10 chars shorter iter(''.upper, 1) # same length when spaces removed, shorter if not removed iter(int.mro, 1) # spooky, but one char shorter still range(9**99) # much longer than the age of the universe range(9**9) # 44 days # but it turns out we can skip it entirely The loop itself: any(expr for x in it) # theoretically prevents the memory leak [expr for x in it] # wastes 800 bytes per sec, 69 MB/day, 1 GB per 14 days while 1: expr # breaks one-liner unless longer `__import__("")` is used, but worth it since it eliminates the entire iterable, even before doing I=__import__ while I := __import__: # 2 chars shorter than doing the assignment inside the loop I looked into alternatives to calling sleep at all, but computers are too fast (and variable in speed) nowadays. `os.sync` looked promising but is only slow the first time. Trying to pass its return value as an argument also failed. `flush=1` is shorter than `flush=True`. Otherwise ... I tried `sys.stdout` but hardly anything was even close: any(time.sleep(0.01) or print(random.choice("\u2571\u2572"), end="", flush=True) for it) any(time.sleep(0.01) or print(random.choice("\u2571\u2572"), end="", flush=1) for it) sys.stdout.writelines(time.sleep(0.1) or random.choice("\u2571\u2572")+"\0"*8191 for it) # can avoid the flush by filling the buffer manually, but requires several more chars to import sys as well Random: random.choice("\u2571\u2572") # UTF-8 b"\xe2\x95\xb1" doesn't seem useful chr(9585+random.randrange(2)) # sigh chr(9585+(random.random()<.5)) # nope chr(9585+(os.getrandom(1)[0]&1)) # + has tigher precedence than & # that last would save 1 byte with normal `import` (since the identifier is repeated), but loses with `__import__` # is there a way to eliminate parens? Is >> or | or - useful? What about *splat?
- amitkumar1994 1y ago[dead]
- pan69 1y ago8-Bit Show and Tell recently did a video about Truchet Tiles on PETSCII. Fun watch: https://www.youtube.com/watch?v=MVQJykMJSH0 https://www.youtube.com/watch?v=MVQJykMJSH0
- Jgoauh 1y agonot sure why this is on top of the feed but i appreciate it ! Is there a website where you can draw on the truchet tiles live ? would be cool
- johanvts 1y agoNot exactly what you are requesting, but I added truchet patterns to a monotile renderer a while back. See here https://www.johansivertsen.com/post/monotile/ https://www.johansivertsen.com/post/monotile/ The drawing tool is here: https://www.johansivertsen.com/customhatviz/app.html https://www.johansivertsen.com/customhatviz/app.html Press 'build supertiles' a few times and enable the truchet overlay.
- Jgoauh 1y agovery nice !
- calvinmorrison 1y agodid anyone have wooden truchet tiles of various colors as a kid that you would place on a board and flip them around to make various designs
- ItCouldBeWorse 1y agoThese are also good to avoid tiling textures having a https://en.wikipedia.org/wiki/Moir%C3%A9_pattern https://en.wikipedia.org/wiki/Moir%C3%A9_pattern. Just do a randomized labyrinth per square and voila.
- qiine 1y agooh! moiré and the double slit experiment are related things, TIL
- nedbat 1y agoUsing multi-level Carlson Truchet tiles for half-toning images: https://nedbatchelder.com/blog/202208/truchet_images.html https://nedbatchelder.com/blog/202208/truchet_images.html
- onychomys 1y agoWe have this card-tiling game based on this idea. https://www.ravensburger.us/en-US/products/games/thinkfun/izzi-44005680 https://www.ravensburger.us/en-US/products/games/thinkfun/iz... It's not a great game, but it's fun enough. The box is small, so we keep it around even if we don't play it much.
- coldcode 1y agoI use a lot of truchet tiles in my art (https://andrewwulf.com https://andrewwulf.com), but I color them afterwards, which seems fairly uncommon (article from last year, https://thecodist.com/my-art-and-color-after-tiling/ https://thecodist.com/my-art-and-color-after-tiling/) outside of shaders. I focus on 2d art for print. I also use various combinations of 1x1, 1x2, 2x2, 3x3 and 4x4 tiles, sometimes all in one work.
- nojs 1y agoReminds me of this, created by one of the tailwind guys: https://heropatterns.com/ https://heropatterns.com/ These are really useful for subtle background patterns on footers etc.
- WillieMacBride 1y ago"Scramble Squares" is a card-tiling puzzle which looks like a specialized form of Truchet Tiling. https://scramblesquares.com https://scramblesquares.com There are 9 square (non-identical) tiles in a set. Each edge of each tile displays half of a two-sided symbol (eg cats, dogs, flags, etc.). Goal is to arrange the tiles in a 3x3 grid so that all touching edges match with corresponding symbol halves. Looks simple at first, but a real challenge. Size of the entire solution space is 9! * 4^9 (billions), and brute-force solvers have been written in Python: https://github.com/roadfoodr/scramble-squares-solver https://github.com/roadfoodr/scramble-squares-solver What are the combinatorial rule(s) used to construct these tiles ?? Some clues: https://www.reddit.com/r/puzzles/comments/1e09up6/help_how_to_solve_scramble_square/ https://www.reddit.com/r/puzzles/comments/1e09up6/help_how_t... Kathie Gavin (designer of Scramble Squares) says the design was inspired by "ancient Egyptian tile patterns" she saw in a museum. Does anyone know more about this?
- frankus 1y agoI need some of these mathematical tiles to be available as physical ceramic tiles for nerdy backsplashes and bathrooms.
- o11c 1y agoWow, Wikipedia is pretty minimal in giving examples. Clicking through various links in comments for more examples should be considered mandatory (though many of the 3D ones are actually "some effect on top of Truchet"). I suppose I don't normally think about how you're actually using minimal Truchet tiles when you play one of SGT's puzzle games, since it's the most boring tileset: https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/slant.html https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/slan...
- calvinmorrison 1y agohttps://thewoodenwagon.com/woodentoy/CAF3064.html https://thewoodenwagon.com/woodentoy/CAF3064.html