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

大憨熊 提交于 2020-08-08 22:51:53

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!


画数学插图令人头秃?

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

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

集合论:

1

几何:

2

线性代数:

3

光线追踪:

4

都不在话下。

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

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

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

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

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

5

纯文本绘制数学图表

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

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

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

6

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

7

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

8

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

9

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

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

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

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

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

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

01

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

具体而言分为三个部分:

Substance:类似于HTML,用来指定内容。

Style:类似于CSS,用于调整外观和可视化表示。

Domain:声明数学领域中可用的对象、关系和符号。

10

需要说明的是,这并不意味着用户想要上手Penrose,必须学会三种语言。

实际上,大多数用户只要掌握Substance语言,类似这样:

11

Domain和Style就交给专业人士,要用的时候调用软件包就行了。

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

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

12

3500星,登上GitHub热榜

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

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

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

13

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

14

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-06-07
本文作者:鱼羊
本文来自:“量子位公众号”,了解相关信息可以关注“公众号QbitAI”

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!