According to wikipedia, there is bijection (1:1 correspondence) between binary tree of n - 2 nodes and simple n-vertex polygon triangulation. I am wondering, how to convert between each other*?
In other words, how to convert set of triangles to binary tree and how to convert binary tree to set of triangles? Triangle is ccw triplet of vertices (v0, v1, v2) and links neighbour triangles (n0, n1, n2).
* from programmer's view, an algorithm, code example etc.
How to convert binary tree to polygon triangulation and vice versa
1.2k Views Asked by wondra At
1
There are 1 best solutions below
Related Questions in ALGORITHM
- UML design for a nodeJS web application
- Laravel MVC application structure on UML class diagram
- Database tables for tennis court booking system
- Interfaces in UML component diagram
- Is this correct UML Sequence diagram?
- Easiest way to get Class UML from java(android) files or project w/o eclipse. Reverse engineer
- What kind of pattern design would apply?
- How to define composition(boss, subordinate relationship)
- Using Aggregation in Inheritance
- Tools for generate sequence diagram(UML) from PHP class(files)
Related Questions in BINARY-TREE
- UML design for a nodeJS web application
- Laravel MVC application structure on UML class diagram
- Database tables for tennis court booking system
- Interfaces in UML component diagram
- Is this correct UML Sequence diagram?
- Easiest way to get Class UML from java(android) files or project w/o eclipse. Reverse engineer
- What kind of pattern design would apply?
- How to define composition(boss, subordinate relationship)
- Using Aggregation in Inheritance
- Tools for generate sequence diagram(UML) from PHP class(files)
Related Questions in POLYGON
- UML design for a nodeJS web application
- Laravel MVC application structure on UML class diagram
- Database tables for tennis court booking system
- Interfaces in UML component diagram
- Is this correct UML Sequence diagram?
- Easiest way to get Class UML from java(android) files or project w/o eclipse. Reverse engineer
- What kind of pattern design would apply?
- How to define composition(boss, subordinate relationship)
- Using Aggregation in Inheritance
- Tools for generate sequence diagram(UML) from PHP class(files)
Related Questions in TRIANGULATION
- UML design for a nodeJS web application
- Laravel MVC application structure on UML class diagram
- Database tables for tennis court booking system
- Interfaces in UML component diagram
- Is this correct UML Sequence diagram?
- Easiest way to get Class UML from java(android) files or project w/o eclipse. Reverse engineer
- What kind of pattern design would apply?
- How to define composition(boss, subordinate relationship)
- Using Aggregation in Inheritance
- Tools for generate sequence diagram(UML) from PHP class(files)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Here's a recursive bijection.
The base case is that the degenerate 2-vertex polygon corresponds to the empty tree.
Inductively, the tree has at least one interior node. Assume that the vertices of the polygon have preexisting labels from 1 to n in clockwise order. Examine the unique triangle T that includes the edge 12.
If we delete T, we get two triangulated polygons. In this case, we get 2345 and 156. Recursively biject the polygon including 1 to get the left subtree of the root. Recursively biject the polygon including 2 to get the right subtree of the root.
A particularly slick way to view this bijection is that we derive the tree by taking the planar dual graph of the triangulation, deleting the edges incident to the infinite face, and designating the face adjacent to 12 as the root.