18

纯文本输入,就能绘制精美数学图表:CMU绘图工具Penrose登GitHub热榜 | SIGGRAPH

 3 years ago
source link: https://www.qbitai.com/2020/06/15370.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

网友:图表界的LaTeX

鱼羊 发自 凹非寺

量子位 报道 | 公众号 QbitAI

画数学插图令人头秃?

现在,CMU的研究人员们开发出了一款实用工具 Penrose

纯文本 的方式输入,根据语言描述,就能 自动 生成数学图表。

集合论:

2qeQFzV.gif

几何:

yYBfqya.gif

线性代数:

6bQVZbi.gif

光线追踪:

B7JFVnE.gif

都不在话下。

整个过程,不需要手动进行繁琐调整,只需在软件中用编程语言的方式,描述数学表达式。

并且,这些表达式不仅限于基本功能,而是可以表达任何数学领域的复杂关系。

这一研究成果,入选计算机图形学顶会SIGGRAPH 2020。

在GitHub上,也得到了3500标星,登上热榜。

有网友认为:Penrose,就像是科学图表中LaTeX。

fQ7bAnM.jpg!web

纯文本绘制数学图表

用LaTeX编辑数学公式的快乐,谁用谁知道。

那么Penrose具体是怎么绘制出数学图表的呢?

比如,要画出这样一个集合关系:

aayQvqj.jpg!web

在软件界面中,完成这样的输入就能自动生成:

iEnqQ3N.jpg!web

如果对配色、布局不满意,点击「resample」,系统会提供其他不同的选择:

BjmimaA.gif

也可以自己手动在「sty」文件中进行调整:

BbyQBvQ.gif

研究人员还提到,该系统支持与基于Web的应用程序集成。并且,Penrose IDE能够提供自动语法高亮和自动补全功能。

不过,目前Penrose尚处在初期版本,未向公众开放。研发团队表示,他们正在快马加鞭,希望能尽快上线公开版本。

数学符号如何变成精美图表?

作者之一、CMU计算机科学和机器人学助理教授Keenan Crane表示,他们打造Penrose的目的,是让所有人都能拥有数学家一般,绘制漂亮图表的能力。

为了实现这一目标,Penrose围绕两个设计原则来实现:

  • 通过从数学符号到视觉图标的映射来规定图表;
  • 通过求解相关有约束的优化问题来合成图表。

aUBFjyA.jpg!web

第一步,是用编程语言来规定数学对象及其可视化表示。

具体而言分为三个部分:

  • Substance:类似于HTML,用来指定内容。
  • Style:类似于CSS,用于调整外观和可视化表示。
  • Domain:声明数学领域中可用的对象、关系和符号。

FN7NRb7.jpg!web

需要说明的是,这并不意味着用户想要上手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就交给专业人士,要用的时候调用软件包就行了。

第二步,使用约束性优化来合成满足给定规范的图。

该方法主要受到手绘图的启发。

6JFnInM.jpg!web

3500星,登上GitHub热榜

Penrose展现的效果,得到了网友们的点赞。

目前,Penrose的GitHub已经有3500标星,在Hacker News上也有399的热度。

有网友认为,想要理解数学概念,可视化是非常重要的手段,而Penrose可能会给数学教育带来很大的帮助。

b63myy3.jpg!web

还有网友表示,希望几何绘图软件Geogebra能集成这一功能。

yyqu6fm.jpg!web

不过,也有网友指出,简单的示例说明了系统的思想,但还是希望看到Penrose实现的更为复杂的数学概念可视化,以证明其确实可以表达数学领域的复杂关系。

AVb2E3f.jpg!web

传送门

论文地址:

http://penrose.ink/media/Penrose_SIGGRAPH2020.pdf

GitHub地址:

https://github.com/penrose/penrose

官网:http://www.penrose.ink/

— 完 —

版权所有,未经授权不得以任何形式转载及使用,违者必究。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK