純文本輸入,就能繪制精美數學圖表:CMU繪圖工具Penrose登GitHub熱榜 | SIGGRAPH
網友:圖表界的LaTeX
魚羊 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
畫數學插圖令人頭禿?
現在,CMU的研究人員們開發出了一款實用工具Penrose:
以純文本的方式輸入,根據語言描述,就能自動生成數學圖表。
集合論:
幾何:
線性代數:
光線追蹤:
都不在話下。
整個過程,不需要手動進行繁瑣調整,只需在軟件中用編程語言的方式,描述數學表達式。
并且,這些表達式不僅限于基本功能,而是可以表達任何數學領域的復雜關系。
這一研究成果,入選計算機圖形學頂會SIGGRAPH 2020。
在GitHub上,也得到了3500標星,登上熱榜。
有網友認為:Penrose,就像是科學圖表中LaTeX。
純文本繪制數學圖表
用LaTeX編輯數學公式的快樂,誰用誰知道。
那么Penrose具體是怎么繪制出數學圖表的呢?
比如,要畫出這樣一個集合關系:
在軟件界面中,完成這樣的輸入就能自動生成:
如果對配色、布局不滿意,點擊「resample」,系統會提供其他不同的選擇:
也可以自己手動在「sty」文件中進行調整:
研究人員還提到,該系統支持與基于Web的應用程序集成。并且,Penrose IDE能夠提供自動語法高亮和自動補全功能。
不過,目前Penrose尚處在初期版本,未向公眾開放。研發團隊表示,他們正在快馬加鞭,希望能盡快上線公開版本。
數學符號如何變成精美圖表?
作者之一、CMU計算機科學和機器人學助理教授Keenan Crane表示,他們打造Penrose的目的,是讓所有人都能擁有數學家一般,繪制漂亮圖表的能力。
為了實現這一目標,Penrose圍繞兩個設計原則來實現:
- 通過從數學符號到視覺圖標的映射來規定圖表;
- 通過求解相關有約束的優化問題來合成圖表。
第一步,是用編程語言來規定數學對象及其可視化表示。
具體而言分為三個部分:
- Substance:類似于HTML,用來指定內容。
- Style:類似于CSS,用于調整外觀和可視化表示。
- Domain:聲明數學領域中可用的對象、關系和符號。
需要說明的是,這并不意味著用戶想要上手Penrose,必須學會三種語言。
實際上,大多數用戶只要掌握Substance語言,類似這樣:
Set?A,B
intersecting(A,B)
set?C?:=?intersection(A,B)
Label?A?$\text{Circles}$
Label?B?$\text{Diagrams}$
Label?C?$\text{Venn?Diagrams}$
Domain和Style就交給專業人士,要用的時候調用軟件包就行了。
第二步,使用約束性優化來合成滿足給定規范的圖。
該方法主要受到手繪圖的啟發。
3500星,登上GitHub熱榜
Penrose展現的效果,得到了網友們的點贊。
目前,Penrose的GitHub已經有3500標星,在Hacker News上也有399的熱度。
有網友認為,想要理解數學概念,可視化是非常重要的手段,而Penrose可能會給數學教育帶來很大的幫助。
還有網友表示,希望幾何繪圖軟件Geogebra能集成這一功能。
不過,也有網友指出,簡單的示例說明了系統的思想,但還是希望看到Penrose實現的更為復雜的數學概念可視化,以證明其確實可以表達數學領域的復雜關系。
傳送門
論文地址:
http://penrose.ink/media/Penrose_SIGGRAPH2020.pdf
GitHub地址:
https://github.com/penrose/penrose
官網:http://www.penrose.ink/
— 完 —
- 蘋果芯片主管也要跑路!庫克被曝出現健康問題2025-12-07
- 世界模型和具身大腦最新突破:90%生成數據,VLA性能暴漲300%|開源2025-12-02
- 谷歌新架構突破Transformer超長上下文瓶頸!Hinton靈魂拷問:后悔Open嗎?2025-12-05
- 90后華人副教授突破30年數學猜想!結論與生成式AI直接相關2025-11-26




