Skip to content

Paths for testing (paper submission)

Wode "Nimo" Ni edited this page Jan 23, 2020 · 41 revisions

Before adding a new working path here, please follow the steps in Merging a branch to check if there are any regressions. Thanks!

Sets

  • Subset relationships in flat Venn diagram style: runpenrose set-theory-domain/tree.sub set-theory-domain/venn.sty set-theory-domain/setTheory.dsl
  • Subset relationships in 3D Venn diagram style: runpenrose set-theory-domain/tree.sub set-theory-domain/venn-3d.sty set-theory-domain/setTheory.dsl
  • Subset relationships in tree diagram style: runpenrose set-theory-domain/tree.sub set-theory-domain/tree.sty set-theory-domain/setTheory.dsl
  • Continuous map in set theory style: runpenrose set-theory-domain/continuousmap.sub set-theory-domain/continuousmap.sty set-theory-domain/setTheory.dsl
  • Inconsistent Substance with point-set: runpenrose set-theory-domain/inconsistent.sub set-theory-domain/venn.sty set-theory-domain/setTheory.dsl currently only on branch synth [TODO (Nimo)]
  • Set enumeration: cd penrose-synthesizer/enumeration-example; bash enumeration-example.sh 50
  • Flat Venn with lots of sets (inset): TODO (Keenan)
  • Tree with lots of sets (inset): TODO (Keenan)

Linear algebra

PR

Paper

  • Orthogonal, 45 degree angle: TODO (Keenan)
  • Walkthrough example w/ orthogonal: runpenrose linear-algebra-domain/twoVectorsPerp.sub linear-algebra-domain/linear-algebra-paper.sty linear-algebra-domain/linear-algebra.dsl
  • 1D scalar and vector: runpenrose linear-algebra-domain/scale.sub linear-algebra-domain/linear-algebra-1d.sty linear-algebra-domain/linear-algebra.dsl
  • Linearity of addition: runpenrose linear-algebra-domain/linearMap_add.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Linearity of scalar multiplication: runpenrose linear-algebra-domain/linearMap_mul.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl

Old paths NOTE: I have not checked these (Katherine)

  • Simple: penrose linear-algebra-domain/twoVectors.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Two VectorSpaces penrose linear-algebra-domain/twoVectorSpaces.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Negation penrose linear-algebra-domain/vectorsNegation.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Addition penrose linear-algebra-domain/vectorsAddition.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Two VectorSpaces with Addition and Negation penrose linear-algebra-domain/twoVectorSpaces-2.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl, addition looks bad in the first sample
  • Linear Map penrose linear-algebra-domain/linearMap.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Norm penrose linear-algebra-domain/norm.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Complex Addition penrose linear-algebra-domain/vectorsAddition-3.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Scale penrose linear-algebra-domain/scale.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Determinant penrose linear-algebra-domain/determinants.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl
  • Advanced Norm & Scalar Addition penrose linear-algebra-domain/norm-2.sub linear-algebra-domain/linear-algebra.sty linear-algebra-domain/linear-algebra.dsl

Real analysis

  • Perpendicular style: runpenrose real-analysis-domain/spec-RA.sub real-analysis-domain/perpendicular-RA.sty real-analysis-domain/real-analysis.dsl
  • Parallel style: runpenrose real-analysis-domain/spec-RA.sub real-analysis-domain/parallel-RA.sty real-analysis-domain/real-analysis.dsl

Functions

Discrete with 3D style

  • Discrete injection: runpenrose functions-domain/injection.sub functions-domain/discrete.sty functions-domain/functions.dsl
  • Discrete surjection: runpenrose functions-domain/surjection.sub functions-domain/discrete.sty functions-domain/functions.dsl
  • Discrete general: runpenrose functions-domain/general.sub functions-domain/discrete.sty functions-domain/functions.dsl
  • Discrete bijection: runpenrose functions-domain/bijection.sub functions-domain/discrete.sty functions-domain/functions.dsl

Discrete with flat style

  • Flat injection/bijection composition (separate functions): penrose functions-domain/composition.sub functions-domain/composition-separate.sty functions-domain/functions.dsl
  • Flat injection/bijection composition (combined functions): penrose functions-domain/composition.sub functions-domain/composition.sty functions-domain/functions.dsl

Continuous

  • Continuous injection: runpenrose functions-domain/injection.sub functions-domain/continuous.sty functions-domain/functions.dsl
  • Continuous surjection: runpenrose functions-domain/surjection.sub functions-domain/continuous.sty functions-domain/functions.dsl
  • Continuous general: runpenrose functions-domain/general.sub functions-domain/continuous.sty functions-domain/functions.dsl
  • Continuous bijection: runpenrose functions-domain/bijection.sub functions-domain/continuous.sty functions-domain/functions.dsl

Interop

PR

  • Mesh and sets (does not use mesh plugin): runpenrose mesh-set-domain/DomainInterop.sub mesh-set-domain/DomainInterop.sty mesh-set-domain/DomainInterop.dsl

Mesh

PR

Closed edge

Style seeds: (8.0, 3.0)

  • runpenrose mesh-domain/closed-edge-sugared.sub mesh-domain/SimplicialComplex.sty mesh-domain/mesh.dsl
  • runpenrose mesh-domain/link-definition4-sugared.sub mesh-domain/SimplicialComplex.sty mesh-domain/mesh.dsl

Vertex

Style seeds: (11.0, 9.0)

  • runpenrose mesh-domain/vertex-sugared.sub mesh-domain/SimplicialComplex.sty mesh-domain/mesh.dsl
  • runpenrose mesh-domain/link4-vertex-sugared.sub mesh-domain/SimplicialComplex.sty mesh-domain/mesh.dsl

Edge

Style seeds: (8.0, 4.0)

  • runpenrose mesh-domain/edge-sugared.sub mesh-domain/SimplicialComplex.sty mesh-domain/mesh.dsl
  • runpenrose mesh-domain/link4-edge-sugared.sub mesh-domain/SimplicialComplex.sty mesh-domain/mesh.dsl

Union of two vertices

Style seeds: (10.0, 5.0)

  • runpenrose mesh-domain/vertices-sugared.sub mesh-domain/SimplicialComplex.sty mesh-domain/mesh.dsl
  • runpenrose mesh-domain/link4-vertices-sugared.sub mesh-domain/SimplicialComplex.sty mesh-domain/mesh.dsl

Geometry teaser

PR

  • Euclidean (Teaser style): runpenrose geometry-domain/teaser.sub geometry-domain/euclidean.sty geometry-domain/geometry.dsl [with no appendices]
  • Spherical (Teaser style): runpenrose geometry-domain/teaser.sub geometry-domain/spherical.sty geometry-domain/geometry.dsl
  • Hyperbolic (Teaser style): runpenrose geometry-domain/teaser.sub geometry-domain/hyperbolic.sty geometry-domain/geometry.dsl

Pythagorean theorem styles: table and "comic strip"

See images in PR

For the Euclidean geometry sub-styles, note that they are implemented via "appendices" to the Euclidean style program that require being commented in and out. See "How it works" here.

  • For the teaser diagram style (Keenan), make sure all lines after APPENDICES BEGIN HERE are commented out.
  • For the teaser diagram style (generic Wikipedia), comment only in the appendix labeled Generic Wikipedia.
  • For the teaser diagram style (generic Byrne), comment in only the appendix labeled Generic Byrne style.
  • For the Pyth. theorem style (Keenan), make sure all lines after APPENDICES BEGIN HERE are commented out.
  • For the Pyth. theorem style (specific Wikipedia), comment in the appendices labeled Generic Wikipedia and Specific Wikipedia style.
  • For the Pyth. theorem style (specific Byrne), comment in only the appendices labeled Generic Byrne style and Specific Byrne style.

For the staged diagram, the image will depend on whether the point positions are fixed (set to constants) in Style or not. If the point positions are fixed, there is almost no optimization (so don't fix them if you want performance numbers for the "floating" diagrams)

  • To stage the Pythagorean theorem diagrams or unstage them: comment IN the appendix labeled "Specific Byrne style ONLY for staged diagrams"
  • You will also need to comment in/out the lines in the Substance program pythagorean-theorem-sugared.sub that are labeled with stages (1), (2), and (3)

Pythagorean theorem paths:

  • Teaser figure Substance in Keenan style (Euclidean): runpenrose geometry-domain/teaser.sub geometry-domain/euclidean.sty geometry-domain/geometry.dsl — with NO appendices
  • Teaser figure Substance in Wiki style (Euclidean): runpenrose geometry-domain/teaser.sub geometry-domain/euclidean.sty geometry-domain/geometry.dsl — with generic Wikipedia appendix
  • Teaser figure Substance in Byrne style (Euclidean): runpenrose geometry-domain/teaser.sub geometry-domain/euclidean.sty geometry-domain/geometry.dsl — with generic Byrne appendix
  • Pythagorean theorem figure Substance in Keenan style (Euclidean): runpenrose geometry-domain/pythagorean-theorem-sugared.sub geometry-domain/euclidean.sty geometry-domain/geometry.dsl — with NO appendices
  • Pythagorean theorem figure Substance in Wiki style (Euclidean): runpenrose geometry-domain/pythagorean-theorem-sugared.sub geometry-domain/euclidean.sty geometry-domain/geometry.dsl — with specific Wikipedia appendix
  • Pythagorean theorem figure Substance in Byrne style (Euclidean): runpenrose geometry-domain/pythagorean-theorem-sugared.sub geometry-domain/euclidean.sty geometry-domain/geometry.dsl — with specific Byrne appendix

Raytracing

PR

  • runpenrose raytracing-domain/spec-raytra.sub raytracing-domain/raytracing.sty raytracing-domain/raytracing.dsl
    • Other Substance files used in the paper: Figure3.sub, Figure32.sub

Optimized colors

PR

Optimizing set colors:

  • Flat Venn style: runpenrose set-theory-domain/tree.sub set-theory-domain/venn.sty set-theory-domain/setTheory.dsl

Optimizing function colors:

  • Discrete injection: runpenrose functions-domain/injection.sub functions-domain/discrete.sty functions-domain/functions.dsl
  • Discrete surjection: runpenrose functions-domain/surjection.sub functions-domain/discrete.sty functions-domain/functions.dsl
  • Discrete general: runpenrose functions-domain/general.sub functions-domain/discrete.sty functions-domain/functions.dsl
  • Discrete bijection: runpenrose functions-domain/bijection.sub functions-domain/discrete.sty functions-domain/functions.dsl
Clone this wiki locally