Given an irregular many face polygon with equal sides. Is there any algorithm to divide it into six equal sized congruent regions ??
Dividing a shape into congruent subregions
1.2k Views Asked by Mahesh Gupta At
1
There are 1 best solutions below
Related Questions in ALGORITHM
- Angular Show All When No Filter Is Supplied
- Why does a function show up as not defined
- I count the time the user takes to solve my quiz using Javascript but I want the same time displayed on another page
- Set "More" "Less" font size
- Using pagination on a table in AngularJS
- How to sort these using Javascript or Jquery Most effectively
- how to fill out the table with next values in array with one button
- State with different subviews
- Ajax jQuery firing multiple time display event for the same result
- Getting and passing MVC Model data to AngularJS controller
Related Questions in SHAPES
- Angular Show All When No Filter Is Supplied
- Why does a function show up as not defined
- I count the time the user takes to solve my quiz using Javascript but I want the same time displayed on another page
- Set "More" "Less" font size
- Using pagination on a table in AngularJS
- How to sort these using Javascript or Jquery Most effectively
- how to fill out the table with next values in array with one button
- State with different subviews
- Ajax jQuery firing multiple time display event for the same result
- Getting and passing MVC Model data to AngularJS controller
Related Questions in GEOMETRIC-ARC
- Angular Show All When No Filter Is Supplied
- Why does a function show up as not defined
- I count the time the user takes to solve my quiz using Javascript but I want the same time displayed on another page
- Set "More" "Less" font size
- Using pagination on a table in AngularJS
- How to sort these using Javascript or Jquery Most effectively
- how to fill out the table with next values in array with one button
- State with different subviews
- Ajax jQuery firing multiple time display event for the same result
- Getting and passing MVC Model data to AngularJS controller
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?
No. Such subdivision is not always possible:
Consider the polygon
Pobtained by joining two regular polygonsP1andP2with a different and very large number of sidesN1andN2. This polygon approximates a pair of circular disksC1andC2to within an arbitrary precision.Consider a subdivision thereof into six congruent regions.
Consider the set of vertices of
P1. There must be a region that contains at least(N1)/6vertices. Call the verticesV1and the regionR1. There must be a region that contains at least(N2)/6vertices ofP2. Call the verticesV2the regionR2.If
R1 != R2, then there must be a congruence mappingR2toR1. If2*N1 < N2, such mapping is impossible. Choose N2 to be much larger than N1.Thus,
R1 == R2. There is a region that contains bothV1andV2. The diameter of each region must be larger than the diameter ofP2.Use the two-circle approximation. Each region must contain an arc of at least 1/6 of the perimeter of
C1and an arc of at least 1/6 of the perimeter ofC2. Also, there is at least one region that is inside both circles and no region is entirely inside the smaller circle.Consider the possible congruences of
R1. Any congruence either 1) is the reflection along the main axis or 2) maps either P1 or P2 outside P or 3) maps some part of the perimeter to the interior of P. The reflection is not sufficient, so any subdivision must contain a congruence that maps some part of P1 to the interior of P1.Thus, each region boundary must contain a concave arc with the diameter of
12. Intuitively, this shows such subdivision cannot exist.There are many classes of polygons that you could detect:
C6. These can be subdivided in any way that respects the rotation symmetry.D6(order-3 rotation + mirrors). Cut along the mirrors.C3is easy, subsequent cutting isn't) and I'm a human.To demonstrate the complexity of the problem: There is a certain class of logical puzzles where the goal is to split a complex shape (60 squares) in two congruent regions. If it is not easy for a human to split a polyomino in two congruent regions, how do you expect a computer to split a general shape in six congruent regions?
If you do want to detect the most cases where the subdivision is possible, you have to trade off between programming time (to support more and more special cases) and test strength. For starters, stick with
C6, D3 and checkerboard tiles => easy to subdivide; polyforms => maybe possible; the rest => probably no subdivision.