All Projects → penrose → Penrose

penrose / Penrose

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

Programming Languages

typescript
32286 projects
Nearley
35 projects
javascript
184084 projects - #8 most used programming language
Pug
443 projects
HTML
75241 projects
emacs lisp
2029 projects

Projects that are alternatives of or similar to Penrose

Stats Maths With Python
General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Stars: ✭ 381 (-92.36%)
Mutual labels:  mathematics
Vue Chartjs
📊 Vue.js wrapper for Chart.js
Stars: ✭ 4,554 (-8.63%)
Mutual labels:  diagrams
Quadpy
Numerical integration (quadrature, cubature) in Python
Stars: ✭ 471 (-90.55%)
Mutual labels:  mathematics
Mermaid Live Editor
Edit, preview and share mermaid charts/diagrams. New implementation of the live editor.
Stars: ✭ 395 (-92.07%)
Mutual labels:  diagrams
Teaching
Teaching Materials for Dr. Waleed A. Yousef
Stars: ✭ 435 (-91.27%)
Mutual labels:  mathematics
Awesome Math
A curated list of awesome mathematics resources
Stars: ✭ 5,452 (+9.39%)
Mutual labels:  mathematics
Fixedmath.net
Fixed point math C# library
Stars: ✭ 376 (-92.46%)
Mutual labels:  mathematics
Cindyjs
A JavaScript framework for interactive (mathematical) content.
Stars: ✭ 495 (-90.07%)
Mutual labels:  mathematics
Gap
Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra
Stars: ✭ 447 (-91.03%)
Mutual labels:  mathematics
Calcflow
A virtual reality tool for mathematical modeling!
Stars: ✭ 471 (-90.55%)
Mutual labels:  mathematics
Pygmsh
Gmsh for Python
Stars: ✭ 418 (-91.61%)
Mutual labels:  mathematics
Math Worksheet Generator
Create basic addition, subtraction, multiplication and division practice questions with the answer sheet
Stars: ✭ 438 (-91.21%)
Mutual labels:  mathematics
Grafana Flowcharting
Flowcharting, plugin for Grafana to create complexe visio's draws style like technical architectures, floorplan, diagrams, hierarchical schema based on draw.io
Stars: ✭ 463 (-90.71%)
Mutual labels:  diagrams
Dynamicalsystems.jl
Award winning software library for nonlinear dynamics
Stars: ✭ 381 (-92.36%)
Mutual labels:  mathematics
Awesome Scientific Computing
😎 Curated list of awesome software for numerical analysis and scientific computing
Stars: ✭ 476 (-90.45%)
Mutual labels:  mathematics
Excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams
Stars: ✭ 25,509 (+411.82%)
Mutual labels:  diagrams
Symbolics.jl
A fast and modern CAS for a fast and modern language.
Stars: ✭ 435 (-91.27%)
Mutual labels:  mathematics
Axelrod
A research tool for the Iterated Prisoner's Dilemma
Stars: ✭ 516 (-89.65%)
Mutual labels:  mathematics
Draft
Generate High Level Cloud Architecture diagrams using YAML syntax.
Stars: ✭ 483 (-90.31%)
Mutual labels:  diagrams
Category Theory Programmers
Category theory in the context of (functional) programming
Stars: ✭ 465 (-90.67%)
Mutual labels:  mathematics

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].