penrose

Create beautiful diagrams just by typing mathematical notation in plain text.

Github星跟踪图

Penrose CircleCI

Penrose is an early-stage system that is still in development. Our system is not ready for contributions or public use yet, but hopefully will be soon. Send us an email if you're interested in collaborating.

  • See the site for more information and examples.
  • See the wiki for more system-specific information on building, running, testing, and debugging the system.
  • For even more documentation, see Nimo Ni's README.

Example

Here's a simple Penrose visualization in the domain of set theory.

It's specified by the following Substance and Style programs.

  • tree.sub
    Set A
    Set B
    Set C
    Set D
    Set E
    Set F
    Set G
    Subset B A
    Subset C A 
    Subset D B
    Subset E B
    Subset F C
    Subset G C
    NoIntersect E D
    NoIntersect F G
    NoIntersect B C
    
  • venn.sty
    Set x {
        shape = Circle { }
        constraint contains(x, x.label)
    }
    
    Intersect x y {
        constraint overlapping(x, y)
        constraint outsideOf(y.label, x)
        constraint outsideOf(x.label, y)
    }
    
    NoIntersect x y {
        constraint nonOverlapping(x, y)
    }
    
    Subset x y {
        constraint contains(y, x)
        constraint smallerThan(x, y)
        constraint outsideOf(y.label, x)
    }
    
    NoSubset x y {
        objective repel(x, y)
        constraint outsideOf(x, y)
        constraint outsideOf(y.label, x)
        constraint outsideOf(x.label, y)
        constraint nonOverlapping(x, y)
    }
    

Here's how the optimization looks live in the UI.

主要指标

概览
名称与所有者penrose/penrose
主编程语言TypeScript
编程语言HTML (语言数: 12)
平台
许可证MIT License
所有者活动
创建于2016-09-22 12:47:19
推送于2025-10-21 07:03:28
最后一次提交
发布数22
最新版本名称v3.3.0 (发布于 )
第一版名称v0.1 (发布于 2019-03-13 02:43:20)
用户参与
星数7.9k
关注者数118
派生数354
提交数2.8k
已启用问题?
问题数767
打开的问题数167
拉请求数994
打开的拉请求数13
关闭的拉请求数121
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?