Piet was named for Piet Mondrian, and its programs look like Mondrian paintings -- which makes Mondrian Turing-complete. (Shown above: a Piet "Hello World" program.)
It was invented by David Morgan-Mar as part of an esoteric programming language project, and took on a life of its own with "a small community of coders writing Piet programs, interpreters, IDEs, and even compilers."
The Piet language interpreter begins executing a program in the colour block which includes the upper left codel of the program. The interpreter maintains a Direction Pointer (DP), initially pointing to the right. The DP may point either right, left, down or up. The interpreter also maintains a Codel Chooser (CC), initially pointing left. The CC may point either left or right. The directions of the DP and CC will often change during program execution.
As it executes the program, the interpreter traverses the colour blocks of the program under the following rules:
* The interpreter finds the edge of the current colour block which is furthest in the direction of the DP. (This edge may be disjoint if the block is of a complex shape.)
* The interpreter finds the codel of the current colour block on that edge which is furthest to the CC's direction of the DP's direction of travel. (Visualise this as standing on the program and walking in the direction of the DP; see table at right.)
* The interpreter travels from that codel into the colour block containing the codel immediately in the direction of the DP.
* The interpreter continues doing this until the program terminates.
Brilliant Game Studios follows up on their 2016 video that showed off a crowd-renderer by pitting 11,000 penguins against 4,000 Santas with a new video demoing "our new GPU accelerated dismemberment and procedural wounding system. Limbs can be cut off on a massive scale. Wound from getting hit appear as deep gouges which warp their […]
George writes, "AntiPolygraph.org has released the 5th edition of its free ebook, The Lie Behind the Lie Detector, which provides a thorough debunking of the pseudoscience of polygraphy and explains how to pass or beat a polygraph test."
Illumipaper is a well-developed prototype from Interactive Media Lab Dresden; the researchers behind it used a variety of techniques to create regular-seeming paper with all the traditional characteristics (it can be crumpled, folded, written on with pen and ink, etc); but a wireless controller allows it to be selectively illuminated to provide interactivity (e.g. to […]
Anyone can learn piano, but don’t tell that to the bored kids who had to endure hours of “Chopsticks” and similar drills in their music lessons. Today, there’s a better way. Pianoforall lets you jump right in to discover what makes music fun, leaving you eager to learn more. In a simple but innovative approach, […]
There are two times you never want to just “eyeball” it: Conducting brain surgery and matching shades of paint for your walls. Whether you’re painting or repainting, make sure you’re never just “close enough” to the color you want. Not when the Nix Mini Color Sensor can scan and match any color perfectly. Small enough […]
In photography as in film, all the real artistry is in post-production – increasingly so, with the new possibilities cropping up in digital imaging. If you’re ready to get serious about your photography, may we suggest HDR Projects 2018 Pro. As working photographers can tell you, this imaging software can help you re-imagine even the […]