@OpenAI's new 4o image generation is pretty amazing.
It also fails on some utterly basic tasks.
Maybe a good metaphor for how easily we can be misled by algorithms based largely on fitting empirical data (i.e., machine learning) rather than deductive reasoning. @UsePenrose
took the idea of “run the layout optimizer again when interacting with the diagram” pretty far this summer. Bloom is a React library for interactive diagrams. It lets you reuse the diagram styling just like Penrose, but in a general-purpose programming language.
Great work by the @UsePenrose team building Bloom: a lightweight way to make interactive diagrams: penrose.cs.cmu.edu/blog/bloom
All coordinates are automatically figured out by the Penrose layout engine, and diagram specifications can be re-used for different content (like HTML/CSS).
A standard way to draw planar graphs is to draw nodes as dots and edges as line segments.
But the Koebe–Andreev–Thurston theorem also shows that any planar graph can be visualized by drawing nodes as circular disks, which are tangent if they share an edge:
Q: How do you quickly multiply multi-digit numbers?
A: Draw a diagram!
Just draw a line for each 10's and 1's digit of the two factors, and count the number of crossings to get the 100's (yellow), 10's (blue), and 1's (red) digits of the product!
Drawn here using @UsePenrose.
Q: How do you quickly multiply multi-digit numbers?
A: Draw a diagram!
Just draw a line for each 10's and 1's digit of the two factors, and count the number of crossings to get the 100's (yellow), 10's (blue), and 1's (red) digits of the product!
Drawn here using @UsePenrose.
The Japanese multiplication method makes everybody feel "I wish they taught math like this in school."
It's not just a cute visual tool: it illuminates how and why long multiplication works.
Here is the full story.
In a moment nobody was waiting for, I've released meshes from Mark Kilgard's classic OpenGL / GLUT demo "dinoshade.c": cs.cmu.edu/~kmcrane/Proje…
The image below re-imagines this example as a vectorized SVG generated in @UsePenrose—read how it was done here! github.com/penrose/penros…
penrose.cs.cmu.edu
Penrose (now released) is promising looking domain-specific language for scientific figures that isn't bogged down by decades of tech-debt (cf Tikz/tex)
Esp like the .style/.substance/.domain division, makes iteration easy (e.g. shape in 2, 'Pipe' in 3)
Tired of making the same kind of diagrams over and over by hand (e.g., in PowerPoint)?
The @UsePenrose team has been working away on Penrose 3.0, an automated notation-to-diagram tool, finally released today!
Check it out here: penrose.cs.cmu.edu/blog/v3
The winding number of a polygon is, quite literally, the number of times a polygon "winds" around a given point x.
It can be used for inside/outside tests by just summing the angles made by each (oriented) edge: zero if x is outside, ±2π if x is inside.
[Made with @UsePenrose.]
Animation of how the winding number changes as the center point x moves inside/outside a shape.
Notice how the signed angle of an edge suddenly jumps from +π to -π (or vice versa) as x crosses an edge, changing the total signed angle by ±2π.
[Made with @UsePenrose]
The winding number of a polygon is, quite literally, the number of times a polygon "winds" around a given point x.
It can be used for inside/outside tests by just summing the angles made by each (oriented) edge: zero if x is outside, ±2π if x is inside.
[Made with @UsePenrose.]
Thanks to @sgestep, we squashed a 4+ year old bug in @UsePenrose that makes it *asymptotically* faster! 🪲
Pro tip: if you're using L-BFGS to avoid building a dense matrix… don't build the dense matrix!!
Try the new, way faster version of Penrose here:
penrose.cs.cmu.edu/try/
You can perfectly pack 16 unit squares into a larger 4x4 square.
But what’s the smallest square that can contain 17 squares?
Check out this thread for an interactive exploration, via @UsePenrose!
[19/n] And keep on going—how low can we go?
Warning: if you make it too small, the optimization may go on forever and freeze your tab! Sorry about that.
You can also slow down the optimization to a step size of 1 to see how it works:
[1/n] There's been a lot of hubbub lately about the best known packing of 17 unit squares into a larger square, owing to this post:
I realized this can be coded up in < 5 minutes in the browser via @UsePenrose, and gave it a try. Pretty darn close! 🧵
Happy birthday to Don Knuth! Knuth received the 1974 #ACMTuringAward for his major contributions to the analysis of #algorithms and the design of #programming languages. Watch this video where Knuth discusses the origins & motivations of the TeX project: bit.ly/3IVls6D
A pool player who works on @UsePenrose must do Made with Penrose™ pool diagrams. Gave a talk about pool yesterday in the @S3DatCMU weekly seminar to show how a pool player plans their shots.
39K Followers 507 FollowingDigital Geometer, Assoc. Prof. of Computer Science & Robotics @CarnegieMellon @SCSatCMU and member of the @GeomCollective. There are four lights.
24K Followers 2K FollowingRobert Ghrist = mathematician; engineer; educator;
assoc. dean of undergraduate education Penn Engineering;
illustrator; animator; acta non verba
38 Followers 265 FollowingMaster's student at the Graduate School of Artificial Intelligence in @postech2020. Previously: student researcher at @google
279 Followers 275 FollowingKao corporation (Researcher) | Now: Carnegie Mellon University (Robotics Institute, Visiting researcher). Opinions expressed are my own.
5K Followers 1K FollowingCreator of objective Reality and $NET. CEO @RealityNetw0rk. Opinions expressed here are yours; this account is your subconscious
382 Followers 1K FollowingResearcher at the Statify team from Inria Grenoble (@InriaStatify). Previously post-doc at Inria Saclay and PhD at GIPSA-lab. He/him/his
39K Followers 507 FollowingDigital Geometer, Assoc. Prof. of Computer Science & Robotics @CarnegieMellon @SCSatCMU and member of the @GeomCollective. There are four lights.
95 Followers 127 FollowingSoftware Engineer. PhD student at CMU SCS. I like software that works that humans can use. SE, HCI, PL. Not a movie star (sorry). @[email protected]
704 Followers 470 FollowingAssistant Professor in @PurdueECE, @purdue_pl. PhD in Software Engineering from @S3DatCMU, @CarnegieMellon. She/her. https://t.co/P6YWIgpbb9.