Skip to content

Latest commit

 

History

History
105 lines (65 loc) · 4.87 KB

File metadata and controls

105 lines (65 loc) · 4.87 KB

Proposal

Project Number

16

Project Title

gTangle: a Grammar for the Procedural Generation of Tangle Patterns

GitHub Link

Team

Name Roll Number
Aryamaan Jain 2019121002
Jyoti Sunkara 2018101044
Ammar Ahmed 2018101058
Aman Goel 2018101005

Main Goals

To generate tangles from a grammar and a set of geometric, grouping and decorative operators in a seamless manner.

Goals Within The Implementation

1. Grammar

In the implementation shapes are arbitrary two dimensional polygons with holes, where their boundaries are represented as highly-tessellated closed curves.

The core idea is that all the grammar operators work on groups of shapes, both in input and output. We aim to use code to represent tangle grammars which explicitly express the grouping information of every shape, in a way that this information is directly accessible and modifiable by specific operators.

2. Operators

We aim to code the compact set of operators that are efficient, closed under any set of arbitrary shapes, and that are able to encode a wide amount of variations in the generated tangles as proposed in the paper. There are several operators that work on the grammar and they are broadly divided into three types:

  • Grouping operators: Grouping between the drawn shapes, rearranging them in a meaningful manner, that can also be independent from the step at which such shapes were created.

    • Ungroup operator : Takes all shapes in S and assigns a new group id to each one.
    • Regroup operator: Rearranges the shapes of a selected group into multiple newly created groups
  • Geometric operators: Subdivide shape groups by splitting, outlining and placing objects in them.

    • Regular Split
    • Geometric Outline
    • Streamline Split
    • Shape Placement
  • Decorative operators: Modify the final appearance of a shape, without further subdivisions.

    • Filling: Sets the background color of a shape
    • Stippling: Stipples the shape with geometrical details like dots, dashes, curves

3. Shape Perturbation

Simulating the organic feel of our generated tangles by applying a perturbation for all subdivided shapes.

Problem Definition

What is the problem?

Tangles are a form of structured two dimensional art characterized by repeating, recursive patterns. The aim is to procedurally generate realistic tangle drawings controlled by users using a shape grammar.

The tangles are formally modelled with group grammars that explicitly handle the grouping of shapes necessary to represent tangle repetitions. A small set of expressive geometric, grouping and decorative operators are used to show that they can respectively express complex tangles patterns and sub-pattern distributions, with relatively simple grammars. We aim to validate the results of the paper which shows how group grammars can produce a wide variety of patterns in a few seconds which on the flip side would take artists hours of tedious and time consuming work.

How things will be done?

The code will be written for the processing of grammars and operators will be written in Python, the grammars and shapes will be represented using JSON in a readable manner, and all tangles for both input and output will be created in the SVG format.

Results

What will be done?

The proposed ideas in the paper regarding the grammars, operators and shape perturbation required to make artictic tangles will be implemented.

Final outcome

A system that is able to generate tangles automatically, starting from any initial set of shapes. This tool can be used for the automatic generation of an organic looking tangle.

Milestones And Timeline

Milestone Date
Proposal Submission 20 October 2020
Literature review 22 October 2020
Structuring the grammar 24 October 2020
Parsing rules from JSONs 26 October 2020
Grouping Operators 29 October 2020
Mid Project Evaluation 31 October 2020
Geometric Operators 3 November 2020
Decorative Operators 6 November 2020
Shape Perturbation 9 November 2020
Testing And Creating Tangles 12 November 2020
Final Project Evaluation 19 November 2020

Datasets

A dataset of grammars to generate the tangles is required for the implementation of the proposed algorithm.

A set of output images is required to show the possible tangles generated by the program.

Obtaining the datasets?

Since this dataset is not available online, we plan to contact the authors as a the first option. In the event that this does not succeed we will synthesise the shapes and grammars in a random fashion as JSON files.