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

简介: 云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 画数学插图令人头秃? 现在,CMU的研究人员们开发出了一款实用工具Penrose: 以纯文本的方式输入,根据语言描述,就能自动生成数学图表。

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


画数学插图令人头秃?

现在,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”

相关文章
|
2月前
|
网络协议 Linux Android开发
解决GitHub无法访问的问题:手动修改hosts文件与使用SwitchHosts工具
解决GitHub无法访问的问题:手动修改hosts文件与使用SwitchHosts工具
142 1
|
7月前
|
算法 Dubbo NoSQL
Trending热榜关闭前,我把Github今年最火Java面试题汇总扒下来了
很多人都说今年对于IT行业根本没有所谓的“金三银四”“金九银十”。在各大招聘网站或者软件上不管是大厂还是中小公司大多都是挂个招聘需求,实际并不招人;在行业内的程序员基本都已经感受到了任老前段时间口中所谓的“寒气”。 虽然事实确实是如此,但你细心观察之后就会发现,圈子里那些平时注重提升自己核心竞争力并且在空闲时间不断提升的人,他们出去面试,投简历,最终还是会能有面试邀约,还是能在大环境不好的情况下斩获自己理想的Offer!由此可见,企业的招聘需求是减少了,并不是没有了!你想要在这样的大环境下突围就必须付出比别人更多的精力跟时间,利用好工作之余的时间进行学习提升。 技术水平跟经验只能靠平时,但
|
8月前
|
消息中间件 缓存 Java
GitHub下载热榜,阿里技术官限时开源三份百亿级架构系统手册
在如今是属于高流量的时代,不知道各位了解高并发吗?今天给大家带来的是出自阿里大牛手写三份绝密手册,《百亿级并发系统设计》+《微服实战 +亿级流量网站架构核心技术》
243 0
|
5月前
|
Windows
Windows【工具 01】视频下载工具BBDown.exe详细使用说明(https://github.com/nilaoda/BBDown)mp4格式无法识别问题处理(最新版本1.6.1网盘分享)
Windows【工具 01】视频下载工具BBDown.exe详细使用说明(https://github.com/nilaoda/BBDown)mp4格式无法识别问题处理(最新版本1.6.1网盘分享)
226 0
|
5月前
|
数据可视化 开发工具 git
Git【实践 01】使用Git工具托管本地代码到GitHub简单易懂的图文教程(含Git+第三方工具TortoiseGit+中文语言包百度云盘资源)
Git【实践 01】使用Git工具托管本地代码到GitHub简单易懂的图文教程(含Git+第三方工具TortoiseGit+中文语言包百度云盘资源)
52 0
|
5月前
|
缓存 NoSQL 中间件
重磅来袭!腾讯T7手写高并发实战手册,称霸GitHub热榜
Netty为何这么火 Netty是互联网中间件领域使用最广泛、最核心的网络通信框架之一。几乎所有互联网中间件或者大数据领域均离不开Netty,掌握Netty是作为一名初中级工程师迈向高级工程师重要的技能之一。 Netty之所以受青睐,是因为Netty提供异步的、事件驱动的网络应用程序框架和工具。作为一个异步框架,Netty的所有IO操作都是异步非阻塞的,通过FutureListener机制,用户可以方便地主动获取或者通过通知机制获得IO操作结果。 为什么写Netty? 目前来说,主要的互联网公司,例如阿里、腾讯、美团、新浪、淘宝等,在高级工程师的面试过程中,就经常会问一些高
|
6月前
|
Dubbo Java 应用服务中间件
制霸GitHub热榜的Spring Cloud Alibaba源码笔记,果然是阿里传出的
6年前面试最常问的并且可以顺利拿到高薪的技能是 Dubbo 2年前面试,只要你简历上有Spring Cloud 项目的相关经验,肯定会打动面试官,现在呢?恐怕简历上有Dubbo和简单的Spring Cloud技术和经验是无法让面试官高看你的。
|
7月前
|
前端开发 JavaScript 开发工具
关于 Github 提供的 Code Blame 工具
关于 Github 提供的 Code Blame 工具
56 0
|
8月前
|
消息中间件 缓存 监控
GitHub热榜 这份《亿级流量并发手册》彻底揭开阿里高流量的秘密
前言 我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。 那我们改如何应对大流量的三种方式? 第一种方法:Scale-out。 第二种方法:使用缓存提升性能 第三种方法:异步处理 面试京东,阿里这些大厂遇到这些问题改怎么办? 秒杀时如何处理每秒上万次的下单请求? 如何保证消息仅仅被消费一次? 如何降低消息队列系统中消息的延迟? 而我今天给大家带来的这份《百亿级并发系统设计》是阿里内部的一份绝密文档,从基础开始,看
|
8月前
|
缓存 NoSQL 中间件
重磅来袭!腾讯T7手写高并发实战手册,称霸GitHub热榜
Netty为何这么火 Netty是互联网中间件领域使用最广泛、最核心的网络通信框架之一。几乎所有互联网中间件或者大数据领域均离不开Netty,掌握Netty是作为一名初中级工程师迈向高级工程师重要的技能之一。
70 0