Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Difficulties #2

Open
padarom opened this issue Sep 1, 2018 · 0 comments
Open

Difficulties #2

padarom opened this issue Sep 1, 2018 · 0 comments
Labels
help wanted Extra attention is needed

Comments

@padarom
Copy link
Member

padarom commented Sep 1, 2018

Language specification

Avoiding ambiguity

Every instruction needs to be unambiguous. The direction of a fold has to be known at all times. Either we make it so the syntax makes ambiguous instructions impossible, or any ambiguous instruction (if it can be easily determined) throws a compile error. In that case there needs to be a syntax to resolve these ambiguities.

Special folds

For a lot of intermediate and advanced origami you have to put a layer in between two other layers. Origami doesn't currently have a notion of layers and layer order, so it is impossible to specify these.

Things go 3D

Potentially the biggest difficulty. Origami figures aren't just creases on a 2D plane. At some point, after having made all necessary creases, they are put together into 3D objects. Sometimes that involves curling some edges or the like. What is a good way to specify that? Is it even easily specifiable?

Implementation

Lexing

ANTLR?

Parsing

?

Usage

Generating origami images

Initial state: Array of vertices for each corner of the original piece of paper

Fold: Folding generates new vertices along all faces that are to be folded. The crease is a line between these vertices. The to-be-folded vertices are then rotated around this line.

To make transitions smooth, additional temporary vertices should be created along the side of the to-be-folded part of the shape in order to allow the shape to become curly.

--> When pockets are created and corners put into those pockets a fold doesn't just move one rigid part of paper, instead the paper might need to be curled and tucked into the pocket. Could be resolved with the above mentioned temporary vertices.

--> Pinching: For demonstration purposes we might want to pinch something along a line, which should force additional paper outside, e.g. to open a pocket.

@padarom padarom added the help wanted Extra attention is needed label Sep 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant