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 04:47:19
推送於2025-09-30 13:55:28
最后一次提交
發布數22
最新版本名稱v3.3.0 (發布於 )
第一版名稱v0.1 (發布於 2019-03-12 14:43:20)
用户参与
星數7.8k
關注者數116
派生數356
提交數2.8k
已啟用問題?
問題數767
打開的問題數167
拉請求數994
打開的拉請求數12
關閉的拉請求數121
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?