头疼数学图表?CMU学霸开源「玫瑰笔」,让你一键绘图自由

简介: 数学可能是最抽象的学科了。虽然有很多可视化工具,但实际使用过程中却存在学习门槛高、画图流程长等问题,一个简单的公式用画图工具可能需要做很久。为了解决这个问题,来自CMU和Technion的一组研究人员推出了Penrose,它可以将复杂的数学符号转换为各种风格的简单图表,引发社区热议。

微信图片_20220109011313.png 

提到别的学科,你的脑海里或许还能有一个非常直观的画面出来。物理的原子、化学的烧杯、计算机的黑客……而一提到数学,能想到最多可能就是函数,公式,希腊字母。

 

为了解决这个问题,自CMU和Technion的一组研究人员推出了Penrose,它可以将复杂的数学符号转换为各种风格的简单图表。

     

微信图片_20220109011316.png


QQ图片20220109011231.png

点击查看原视频链接


CMU学霸开源「玫瑰笔」,画图从未如此简单


把数学问题可视化,简直就是功在当代利在千秋的丰功伟绩啊!因此刚一发出来就引来了大量围观,Penrose可以让研究人员更高效地交流复杂的数学思想和概念。


微信图片_20220109011318.gif

 

论文一作、CMU四年级博士生Katherine Ye连发十几条推,完整的阐述了这个工具。论文地址:

 

https://penrose.ink/siggraph20.html

 

Katherine Ye是一位很酷的小姐姐。

 

她是卡内基梅隆大学微软研究博士研究员,艺术、设计+社会研究中心的研究成员。此前曾在Decelerator和School of Making Thinking担任常驻研究员,曾在微软研究院、Google Brain(Distill)和MIT CSAIL工作,并参加了Recurse Center。

 

简单几行代码,直接生成数学表达式可视化图表。


有很多伟大的工具来制作图表,但是我们发现真的用起来,就算是一个简单的公式都需要花费很长时间去画图,在代码中调整坐标。

QQ图片20220109011108.png

点击查看原视频链接


penrose最牛的地方在于,你只需要描述「关系」,它就能自动完成图表绘制,你只需要输入下面这段代码:

 

Set A, B
Intersecting(A, B)
Set C := Intersection(A, B)
Label A $\text{Circles}$
Label B $\text{Diagrams}$
Label C $\text{Venn Diagrams}$


penrose就能自动生成下面这个韦恩图。


      微信图片_20220109011319.png


如果你不喜欢这个,还可以多生成几个,直到你想要的。

 

      微信图片_20220109011321.png      


上面这个韦恩图看着有些简陋,我们还可以通过css调整它的样式。


     微信图片_20220109011323.png


通过使用不同的样式,我们可以改变颜色和线条宽度,或者用箭头代替圆形。

 

      微信图片_20220109011325.png    


论文展示了如何使用同样的方法来说明许多不同种类的抽象概念,包括集合、函数、向量、几何体、网格和光踪!

 

例如,这里用Penrose用3种方法来展示同一组几何语句。

 

      微信图片_20220109011327.png


Penrose有2个主要部分:一种用于定义视觉表现(类似 「数学的CSS」)的语言,和一个用于探索图空间的SOLVER(通过优化)。


     微信图片_20220109011329.png


项目已足够优秀,但仍然欢迎大家一起来完善


作者的梦想不止于此。他们希望把Penrose打造成一个自动插画的平台。比如说给数学课本和网页自动插图、制作交互式图表、创建个性化教程等等。

 

目前该工具还在完善中。感兴趣的可以加入邮件列表,及时获取最新信息。


参考链接:

https://penrose.ink/

https://github.com/penrose/penrose

相关文章
Debian 官方源换为国内的源的操作方法
apt-get update 报错,采用更换源的方式解决问题。
55950 0
|
数据采集 IDE 编译器
STM32微控制器入门及应用实例
STM32微控制器入门及应用实例
|
6月前
|
人工智能 前端开发 语音技术
开源学习神器把2小时网课压成5分钟脑图!BiliNote:一键转录哔哩哔哩视频,生成结构化学习文档
本文介绍基于FastAPI与React构建的开源视频笔记工具BiliNote,其整合多模态AI技术实现视频内容结构化解析,支持跨平台视频源处理与本地化部署方案,提供从语音转写到智能摘要的全流程自动化能力。
1472 36
开源学习神器把2小时网课压成5分钟脑图!BiliNote:一键转录哔哩哔哩视频,生成结构化学习文档
|
JavaScript 前端开发 开发者
vue3+ts配置跨域报错问题解决:> newpro2@0.1.0 serve > vue-cli-service serve ERROR Invalid options in vue.
【6月更文挑战第3天】在 Vue CLI 项目中遇到 "ERROR Invalid options in vue.config.js: ‘server’ is not allowed" 错误是因为尝试在 `vue.config.js` 中使用不被支持的 `server` 选项。正确配置开发服务器(如代理)应使用 `devServer` 对象,例如设置代理到 `http://xxx.com/`: ```javascript module.exports = { devServer: {
595 1
|
9月前
|
人工智能 自然语言处理 搜索推荐
销售易、悟空、神州云动CRM:全方位功能解析与优势特色盘点
销售易CRM、悟空CRM和神州云动CRM各自具备独特的产品功能与优势,适用于不同类型的企业。销售易CRM提供移动化、社交化和AI驱动的全流程管理,适合大型企业及跨国公司;悟空CRM以智能数据分析和移动办公支持见长,适合中大型企业;神州云动CRM则凭借灵活定制和多行业适配能力,特别适合大中型企业。企业在选择时应根据自身需求和发展战略,挑选最适合的CRM系统,以实现客户关系管理的最大化效益。
|
12月前
|
存储 Kubernetes 开发工具
k8s学习--ConfigMap详细解释与应用
ConfigMap 是 Kubernetes 中用于管理非机密配置数据的 API 对象,可将应用配置与容器分离,便于动态管理和更新。它支持四种创建方式:命令行参数、多个文件、文件内的键值对以及 YAML 资源清单文件。ConfigMap 可通过环境变量或挂载为卷的方式传递给 Pod,并且当通过卷挂载时支持热更新。这使得配置管理更加灵活和安全,无需重新部署应用即可更新配置。
615 0
|
11月前
|
Docker 容器
【赵渝强老师】Docker的None网络模式
Docker容器在网络方面实现了逻辑隔离,提供了四种网络模式:bridge、container、host和none。其中,none模式下容器具有独立的网络命名空间,但不包含任何网络配置,仅能通过Local Loopback网卡(localhost或127.0.0.1)进行通信。适用于不希望容器接收任何网络流量或运行无需网络连接的特殊服务。
182 0
|
JSON 关系型数据库 MySQL
MySQL 5.x和8.0区别
性能:8.0的速度要比5.7快2倍,8.0在以下方面带来了更好的性能:读/写负载、IO密集型工作负载、高竞争("hot spot"热点竞争问题)工作负载。
405 3
|
缓存 NoSQL 关系型数据库
领导问我:为什么一个点赞功能你做了五天?
领导问我:为什么一个点赞功能你做了五天?
|
算法
出现线程死锁缺陷一般有那些原因?该怎么解决?
出现线程死锁缺陷一般有那些原因?该怎么解决?
174 1