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
- Two different numbers in an array which their sum equals to a given value
- Given two arrays of positive numbers, re-arrange them to form a resulting array, resulting array contains the elements in the same given sequence
- Time complexity of the algorithm?
- Find a MST in O(V+E) Time in a Graph
- Why k and l for LSH used for approximate nearest neighbours?
- How to count the number of ways of choosing of k equal substrings from a List L(the list of All Substrings)
- Issues with reversing the linkedlist
- Finding first non-repeating number in integer array
- Finding average of an array
- How to check for duplicates with less time in a list over 9000 elements by python
- How to pick a number based on probability?
- Insertion Sort help in javascript -- Khan Academy
- Developing a Checkers (Draughts) engine, how to begin?
- Can Bellman-Ford algorithm be used to find shorthest path on a graph with only positive edges?
- What is the function for the KMP Failure Algorithm?
Related Questions in BINARY-TREE
- How to Compute Space Complexity for Printing All paths which Sum to a Given Value in Binary Tree
- Recursively divide a list that each iteration divides into two parts to get the closest sum overall
- Function that return average depth of a binary search tree
- Print a Binary Search Tree with Correct Formatting
- Recursive Tree Walk with ES6 Promise
- Making a very basic binary tree in Scala
- maximum sum of value from root to leaf in a binary tree using stack
- How to Compute Space Complexity for Binary SubTree Finding
- Scala: How to compute the sum of all elements in the leaves of a Binary Tree?
- Pass a value by reference in a function to find level of node in a binary tree
- How to implement remove() method in binary search tree iterator
- How to copy an object in Scala?
- Complex conditional filter design
- Recursively count children nodes in binary tree
- Updating value of node in Scala?
Related Questions in POLYGON
- How can i add polygon on google maps IOS?
- Polygon shape margin in Java
- SVG simple animations
- Newbe help on getting from polygon shape file to Leaflet polygon
- creating polygons based on intersection
- R polygon: fill values >0 in a density plot
- CSS Container Wrap shaped Polygons
- position polygon accurately in Corona SDK? (relative to known vertices - issue is it creates it own centre
- Extracting polygon given coordinates from an image using OpenCV
- Draw arbitrary convex shape knowing the lengths of its sides
- Scale animation on polygon
- Get the mesh name from the selected vertex
- oracle spatial compute area of polgons inside a class of polygon group by polygon ID
- How can I create an internal spiral for a polygon?
- Drawing filled polygon with libGDX's earclippingtriangulator and PolygonSpriteBatch
Related Questions in TRIANGULATION
- Delaunay triangles point connectivity?
- Integrating Velocity Over a Complex 2-D Surface
- What is the best initial shape for 3D Delaunay incremental algorithm?
- Correct use of polygon triangulators in LibGDX
- Drawing filled polygon with libGDX's earclippingtriangulator and PolygonSpriteBatch
- Matching results of Delaunay triangulation in OpenCV
- Increasing mesh details (additional tesselation)
- How do I access the original point in periodic 2 D Triangulation in CGAL?
- How to generate a triangulation for FEM 1D - MATLAB?
- Triangulating a planar 2D concave polygon in 3d space - Help checking concavity?
- Delaunay triangulation
- How do you pin point the location of a user with 3 nodes, using Triangulation?
- Triangulates all objects in Autocad
- Creat mesh from point cloud on a 2D grid
- How to convert binary tree to polygon triangulation and vice versa
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 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.