Litcius/Paper detail

Penrose

Katherine Ye, Wode Ni, Max Krieger, Dor Ma’ayan, Jenna Wise, Jonathan Aldrich, Joshua Sunshine, Keenan Crane

2020ACM Transactions on Graphics51 citationsDOI

Abstract

We introduce a system called Penrose for creating mathematical diagrams. Its basic functionality is to translate abstract statements written in familiar math-like notation into one or more possible visual representations. Rather than rely on a fixed library of visualization tools, the visual representation is user-defined in a constraint-based specification language; diagrams are then generated automatically via constrained numerical optimization. The system is user-extensible to many domains of mathematics, and is fast enough for iterative design exploration. In contrast to tools that specify diagrams via direct manipulation or low-level graphics programming, Penrose enables rapid creation and exploration of diagrams that faithfully preserve the underlying mathematical meaning. We demonstrate the effectiveness and generality of the system by showing how it can be used to illustrate a diverse set of concepts from mathematics and computer graphics.

Topics & Concepts

Computer scienceProgramming languageVisualizationGraphicsGeneralityTheoretical computer scienceSet (abstract data type)Representation (politics)Computer graphicsNotationComputer graphics (images)MathematicsArtificial intelligenceArithmeticLawPoliticsPsychotherapistPsychologyPolitical scienceModel-Driven Software Engineering TechniquesData Visualization and AnalyticsInteractive and Immersive Displays