{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,13]],"date-time":"2026-06-13T07:05:37Z","timestamp":1781334337544,"version":"3.54.1"},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2020,8,12]],"date-time":"2020-08-12T00:00:00Z","timestamp":1597190400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/"}],"funder":[{"DOI":"10.13039\/100006602","name":"Air Force Research Laboratory","doi-asserted-by":"publisher","award":["FA8750-16-2-0042"],"award-info":[{"award-number":["FA8750-16-2-0042"]}],"id":[{"id":"10.13039\/100006602","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000185","name":"Defense Advanced Research Projects Agency","doi-asserted-by":"publisher","award":["FA8750-16-2-0042"],"award-info":[{"award-number":["FA8750-16-2-0042"]}],"id":[{"id":"10.13039\/100000185","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000879","name":"Alfred P. Sloan Foundation","doi-asserted-by":"publisher","award":["G-2019-11406"],"award-info":[{"award-number":["G-2019-11406"]}],"id":[{"id":"10.13039\/100000879","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100014718","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CCF-1910264, DMS-1439786"],"award-info":[{"award-number":["CCF-1910264, DMS-1439786"]}],"id":[{"id":"10.13039\/100014718","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2020,8,31]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/3386569.3392375","type":"journal-article","created":{"date-parts":[[2020,8,12]],"date-time":"2020-08-12T11:44:27Z","timestamp":1597232667000},"update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":48,"title":["Penrose"],"prefix":"10.1145","volume":"39","author":[{"given":"Katherine","family":"Ye","sequence":"first","affiliation":[{"name":"Carnegie Mellon University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wode","family":"Ni","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Max","family":"Krieger","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Dor","family":"Ma'ayan","sequence":"additional","affiliation":[{"name":"Technion and Carnegie Mellon University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jenna","family":"Wise","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jonathan","family":"Aldrich","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Joshua","family":"Sunshine","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Keenan","family":"Crane","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2020,8,12]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"crossref","unstructured":"J. Barnes and P. Hut. 1986. A hierarchical O (N log N) force-calculation algorithm. nature 324 6096 (1986) 446--449.","DOI":"10.1038\/324446a0"},{"key":"e_1_2_2_2_1","unstructured":"B. Beeton and R. Palais. 2016. Comm. of Math. with TEX. Visible Language 50 2 (2016)."},{"key":"e_1_2_2_3_1","doi-asserted-by":"crossref","unstructured":"T. Berners-Lee and D. Connolly. 1995. Hypertext markup language-2.0.","DOI":"10.17487\/rfc1866"},{"key":"e_1_2_2_4_1","unstructured":"Y. Bertot and P. Cast\u00e9ran. 2013. Interactive theorem proving and program development: Coq'Art: the calculus of inductive constructions. Springer Science & Business Media."},{"key":"e_1_2_2_5_1","volume-title":"A first course in geometric topology and differential geometry","author":"Bloch E. D.","unstructured":"E. D. Bloch. 1997. A first course in geometric topology and differential geometry. Springer Science & Business Media."},{"key":"e_1_2_2_6_1","doi-asserted-by":"crossref","unstructured":"S. Boyd and L. Vandenberghe. 2004. Convex Optimization. Cambridge University Press.","DOI":"10.1017\/CBO9780511804441"},{"key":"e_1_2_2_7_1","volume-title":"Scaling up visual programming languages. 28, 3","author":"Burnett M. M.","year":"1995","unstructured":"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."},{"key":"e_1_2_2_8_1","unstructured":"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."},{"key":"e_1_2_2_9_1","unstructured":"N. Carter and R. Ellis. 2019. Group Explorer version 3.0. Waltham MA. https:\/\/github.com\/nathancarter\/group-explorer"},{"key":"e_1_2_2_10_1","first-page":"312","article-title":"MathJax: a platform for mathematics on the Web","volume":"59","author":"Cervone D.","year":"2012","unstructured":"D. Cervone. 2012. MathJax: a platform for mathematics on the Web. Notices of the AMS 59, 2 (2012), 312--316.","journal-title":"Notices of the AMS"},{"key":"e_1_2_2_11_1","volume-title":"The Stanford Encyclopedia of Philosophy","author":"Cole D.","unstructured":"D. Cole. 2014. The Chinese Room Argument. In The Stanford Encyclopedia of Philosophy, E. N. Zalta (Ed.). Metaphysics Research Lab, Stanford University."},{"key":"e_1_2_2_12_1","unstructured":"Wikimedia Commons. 2006. Illustration to Euclid's Proof of the Pythagorean Theorem."},{"key":"e_1_2_2_13_1","volume-title":"Digital Geometry Processing with Discrete Exterior Calculus. In ACM SIGGRAPH 2013 courses. ACM.","author":"Crane K.","unstructured":"K. Crane, F. de Goes, M. Desbrun, and P. Schr\u00f6der. 2013. Digital Geometry Processing with Discrete Exterior Calculus. In ACM SIGGRAPH 2013 courses. ACM."},{"key":"e_1_2_2_14_1","volume-title":"International Conf. on Automated Deduction. Springer, 378--388","author":"de Moura L.","year":"2015","unstructured":"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."},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jala.2006.07.012"},{"key":"e_1_2_2_16_1","doi-asserted-by":"crossref","unstructured":"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.","DOI":"10.1007\/3-540-45848-4_57"},{"key":"e_1_2_2_17_1","doi-asserted-by":"crossref","unstructured":"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.","DOI":"10.1007\/978-3-642-18638-7_6"},{"key":"e_1_2_2_18_1","volume-title":"React: A JavaScript library for building user interfaces. https:\/\/reactjs.org\/","year":"2020","unstructured":"Facebook. 2020. React: A JavaScript library for building user interfaces. https:\/\/reactjs.org\/"},{"key":"e_1_2_2_19_1","doi-asserted-by":"crossref","unstructured":"M. Ganesalingam. 2013. The Language of Mathematics.","DOI":"10.1007\/978-3-642-37012-0"},{"key":"e_1_2_2_20_1","unstructured":"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."},{"key":"e_1_2_2_21_1","volume-title":"Int. Con. on Math. Soft","author":"Jani\u010di\u0107 P.","unstructured":"P. Jani\u010di\u0107. 2006. GCLC-a tool for constructive euclidean geometry and more than that. In Int. Con. on Math. Soft. Springer, 58--73."},{"key":"e_1_2_2_22_1","unstructured":"E. Kmett. 2015. ad: automatic differentiation. https:\/\/hackage.haskell.org\/package\/ad"},{"key":"e_1_2_2_23_1","doi-asserted-by":"crossref","unstructured":"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.","DOI":"10.1007\/s10664-011-9172-x"},{"key":"e_1_2_2_24_1","unstructured":"A. S. Lewis and M. L. Overton. 2009. Nonsmooth optimization via BFGS. SIAM J. Optimiz (2009) 1--35."},{"key":"e_1_2_2_25_1","unstructured":"H. W. Lie B. Bos C. Lilley and I. Jacobs. 2005. Cascading style sheets. Pearson India."},{"key":"e_1_2_2_26_1","doi-asserted-by":"crossref","unstructured":"Z. Liu and J. Heer. 2014. The Effects of Interactive Latency on Exploratory Visual Analysis. IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis) (2014).","DOI":"10.1109\/TVCG.2014.2346452"},{"key":"e_1_2_2_27_1","volume-title":"Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems. ACM.","author":"Ma'ayan D.","unstructured":"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."},{"key":"e_1_2_2_28_1","unstructured":"M. Mashaal. 2006. Bourbaki. American Mathematical Soc."},{"key":"e_1_2_2_29_1","unstructured":"R. McNeel et al. 2010. Grasshopper: generative modeling software for Rhino. (2010)."},{"key":"e_1_2_2_30_1","doi-asserted-by":"crossref","unstructured":"R. Milner M. Tofte R. Harper and D. MacQueen. 1997. The definition of standard ML.","DOI":"10.7551\/mitpress\/2319.001.0001"},{"key":"e_1_2_2_31_1","first-page":"532","article-title":"The importance of MathML to mathematics communication","volume":"52","author":"Miner R.","year":"2005","unstructured":"R. Miner. 2005. The importance of MathML to mathematics communication. Notices of the AMS 52, 5 (2005), 532--538.","journal-title":"Notices of the AMS"},{"key":"e_1_2_2_32_1","volume-title":"Unified theories of cognition","author":"Newell A.","unstructured":"A. Newell. 1994. Unified theories of cognition. Harvard University Press."},{"key":"e_1_2_2_33_1","unstructured":"M. Pharr W. Jakob and G. Humphreys. 2016. Physically based rendering: From theory to implementation. Morgan Kaufmann."},{"key":"e_1_2_2_34_1","unstructured":"P. Prusinkiewicz and A. Lindenmayer. 2012. The algorithmic beauty of plants. Springer Science & Business Media."},{"key":"e_1_2_2_35_1","unstructured":"R. Sawhney and K. Crane. 2017. geometry-processing.js: A fast and flexible geometry processing library. http:\/\/geometry.cs.cmu.edu\/js."},{"key":"e_1_2_2_36_1","volume-title":"Sketchpad a man-machine graphical communication system. Simulation 2, 5","author":"Sutherland I. E.","year":"1964","unstructured":"I. E. Sutherland. 1964. Sketchpad a man-machine graphical communication system. Simulation 2, 5 (1964), R-3."},{"key":"e_1_2_2_37_1","unstructured":"T. Tantau. [n. d.]. The TikZ and PGF Packages."},{"key":"e_1_2_2_38_1","volume-title":"On Proof and Progress in Mathematics. New directions in the philosophy of mathematics","author":"Thurston W. P.","year":"1998","unstructured":"W. P. Thurston. 1998. On Proof and Progress in Mathematics. New directions in the philosophy of mathematics (1998), 337--355."},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/352029.352035"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1137\/060676970"}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3386569.3392375","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3386569.3392375","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3386569.3392375","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,25]],"date-time":"2025-06-25T05:35:26Z","timestamp":1750829726000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3386569.3392375"}},"subtitle":["from mathematical notation to beautiful diagrams"],"short-title":[],"issued":{"date-parts":[[2020,8,12]]},"references-count":40,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2020,8,31]]}},"alternative-id":["10.1145\/3386569.3392375"],"URL":"https:\/\/doi.org\/10.1145\/3386569.3392375","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"value":"0730-0301","type":"print"},{"value":"1557-7368","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,8,12]]},"assertion":[{"value":"2020-08-12","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}