[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article
Open access

Penrose: from mathematical notation to beautiful diagrams

Published: 12 August 2020 Publication History

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.

Supplemental Material

MP4 File
Presentation video
Transcript for: Presentation video
MP4 File
ZIP File
Supplemental files.

References

[1]
J. Barnes and P. Hut. 1986. A hierarchical O (N log N) force-calculation algorithm. nature 324, 6096 (1986), 446--449.
[2]
B. Beeton and R. Palais. 2016. Comm. of Math. with TEX. Visible Language 50, 2 (2016).
[3]
T. Berners-Lee and D. Connolly. 1995. Hypertext markup language-2.0.
[4]
Y. Bertot and P. Castéran. 2013. Interactive theorem proving and program development: Coq'Art: the calculus of inductive constructions. Springer Science & Business Media.
[5]
E. D. Bloch. 1997. A first course in geometric topology and differential geometry. Springer Science & Business Media.
[6]
S. Boyd and L. Vandenberghe. 2004. Convex Optimization. Cambridge University Press.
[7]
M. M. Burnett, M. J. Baker, C. Bohus, P. Carlson, S. Yang, and P. Van Zee. 1995. Scaling up visual programming languages. 28, 3 (1995), 45--54.
[8]
O. Byrne. 1847. The first six books of the Elements of Euclid: in which coloured diagrams and symbols are used instead of letters for the greater ease of learners.
[9]
N. Carter and R. Ellis. 2019. Group Explorer version 3.0. Waltham, MA. https://github.com/nathancarter/group-explorer
[10]
D. Cervone. 2012. MathJax: a platform for mathematics on the Web. Notices of the AMS 59, 2 (2012), 312--316.
[11]
D. Cole. 2014. The Chinese Room Argument. In The Stanford Encyclopedia of Philosophy, E. N. Zalta (Ed.). Metaphysics Research Lab, Stanford University.
[12]
Wikimedia Commons. 2006. Illustration to Euclid's Proof of the Pythagorean Theorem.
[13]
K. Crane, F. de Goes, M. Desbrun, and P. Schröder. 2013. Digital Geometry Processing with Discrete Exterior Calculus. In ACM SIGGRAPH 2013 courses. ACM.
[14]
L. de Moura, S. Kong, J. Avigad, F. Van Doorn, and J. von Raumer. 2015. The Lean theorem prover. In International Conf. on Automated Deduction. Springer, 378--388.
[15]
C. Elliott, V. Vijayakumar, W. Zink, and R. Hansen. 2007. National instruments LabVIEW: a programming environment for laboratory automation and measurement. JALA: J. of Assoc. for Lab. Auto. 12, 1 (2007), 17--24.
[16]
J. Ellson, E. Gansner, L. Koutsofios, S. C. North, and G. Woodhull. 2001. Graphviz---open source graph drawing tools. In International Sym. on Graph Drawing. Springer, 483--484.
[17]
J. Ellson, E. R. Gansner, E. Koutsofios, S. C. North, and G. Woodhull. 2004. Graphviz and dynagraph-static and dynamic graph drawing tools. Springer, 127--148.
[18]
Facebook. 2020. React: A JavaScript library for building user interfaces. https://reactjs.org/
[19]
M. Ganesalingam. 2013. The Language of Mathematics.
[20]
M. Hohenwarter and K. Fuchs. 2004. Combination of dynamic geometry, algebra and calculus in the software system GeoGebra. In Computer algebra systems and dynamic geometry systems in mathematics teaching conference. 3810--193.
[21]
P. Janičić. 2006. GCLC-a tool for constructive euclidean geometry and more than that. In Int. Con. on Math. Soft. Springer, 58--73.
[22]
E. Kmett. 2015. ad: automatic differentiation. https://hackage.haskell.org/package/ad
[23]
T. Kosar, M. Mernik, and J. C. Carver. 2012. Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments. Empirical software engineering 17, 3 (2012), 276--304.
[24]
A. S. Lewis and M. L. Overton. 2009. Nonsmooth optimization via BFGS. SIAM J. Optimiz (2009), 1--35.
[25]
H. W. Lie, B. Bos, C. Lilley, and I. Jacobs. 2005. Cascading style sheets. Pearson India.
[26]
Z. Liu and J. Heer. 2014. The Effects of Interactive Latency on Exploratory Visual Analysis. IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis) (2014).
[27]
D. Ma'ayan, W. Ni, K. Ye, C. Kulkarni, and J. Sunshine. 2020. How Domain Experts Create Conceptual Diagrams and Implications for Tool Design. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems. ACM.
[28]
M. Mashaal. 2006. Bourbaki. American Mathematical Soc.
[29]
R. McNeel et al. 2010. Grasshopper: generative modeling software for Rhino. (2010).
[30]
R. Milner, M. Tofte, R. Harper, and D. MacQueen. 1997. The definition of standard ML.
[31]
R. Miner. 2005. The importance of MathML to mathematics communication. Notices of the AMS 52, 5 (2005), 532--538.
[32]
A. Newell. 1994. Unified theories of cognition. Harvard University Press.
[33]
M. Pharr, W. Jakob, and G. Humphreys. 2016. Physically based rendering: From theory to implementation. Morgan Kaufmann.
[34]
P. Prusinkiewicz and A. Lindenmayer. 2012. The algorithmic beauty of plants. Springer Science & Business Media.
[35]
R. Sawhney and K. Crane. 2017. geometry-processing.js: A fast and flexible geometry processing library. http://geometry.cs.cmu.edu/js.
[36]
I. E. Sutherland. 1964. Sketchpad a man-machine graphical communication system. Simulation 2, 5 (1964), R-3.
[37]
T. Tantau. [n. d.]. The TikZ and PGF Packages.
[38]
W. P. Thurston. 1998. On Proof and Progress in Mathematics. New directions in the philosophy of mathematics (1998), 337--355.
[39]
A. Van Deursen, P. Klint, and J.> Visser. 2000. Domain-specific languages: An annotated bibliography. ACM Sigplan Notices 35, 6 (2000), 26--36.
[40]
H. Yamashita and T. Tanabe. 2010. A primal-dual exterior point method for nonlinear optimization. SIAM J. Optimiz. 20, 6 (2010), 3335--3363.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Graphics
ACM Transactions on Graphics  Volume 39, Issue 4
August 2020
1732 pages
ISSN:0730-0301
EISSN:1557-7368
DOI:10.1145/3386569
Issue’s Table of Contents
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International 4.0 License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 August 2020
Published in TOG Volume 39, Issue 4

Check for updates

Author Tag

  1. mathematical diagrams

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)434
  • Downloads (Last 6 weeks)63
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Programming Language Case Studies Can Be DeepElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.405.4405(56-79)Online publication date: 10-Jul-2024
  • (2024)IMESH: A DSL for Mesh ProcessingACM Transactions on Graphics10.1145/366218143:5(1-17)Online publication date: 25-Jun-2024
  • (2024)Repulsive ShellsACM Transactions on Graphics10.1145/365817443:4(1-22)Online publication date: 19-Jul-2024
  • (2024)Edgeworth: Efficient and Scalable Authoring of Visual Thinking ActivitiesProceedings of the Eleventh ACM Conference on Learning @ Scale10.1145/3657604.3662034(98-109)Online publication date: 9-Jul-2024
  • (2024)Bluefish: Composing Diagrams with Declarative RelationsProceedings of the 37th Annual ACM Symposium on User Interface Software and Technology10.1145/3654777.3676465(1-21)Online publication date: 13-Oct-2024
  • (2024)Minkowski Penalties: Robust Differentiable Constraint Enforcement for Vector GraphicsACM SIGGRAPH 2024 Conference Papers10.1145/3641519.3657495(1-12)Online publication date: 13-Jul-2024
  • (2024)FabHacks: Transform Everyday Objects into Home Hacks Leveraging a Solver-aided DSLProceedings of the 9th ACM Symposium on Computational Fabrication10.1145/3639473.3665788(1-16)Online publication date: 7-Jul-2024
  • (2024)Considering Visualization Example Galleries2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00043(329-343)Online publication date: 2-Sep-2024
  • (2024)Addressing Design Challenges When Integrating Machine Learning with a Digital Annotation System to Examine Student Proportional ReasoningDigital Experiences in Mathematics Education10.1007/s40751-024-00163-8Online publication date: 16-Oct-2024
  • (2024)Codifying Visual RepresentationsDiagrammatic Representation and Inference10.1007/978-3-031-71291-3_37(454-457)Online publication date: 9-Sep-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media