MATHEMATICIANS: solve Tessellation and Aperiodic Tiling problem with grid of 4:3, 3:4, and 1:1
PROBLEM OF TESSELLATION AND APERIODIC TILING
We are trying to create a collage of Tiles that fit neatly into each other for an application that will scroll in any direction (x and y axis). For example, this works for the y-axis only: http://isotope.metafizzy.co/ ; and this works with squares: http://cdn.imore.com/sites/imore.c
The objective is to make positioning and selection of Tiles appear random with no consistent horizontal or vertical lines and no gaps. For example, this collage works but has too much consistency: http://note.io/IOcaaZ
1. The Tile ratios are 4:3, 3:4, and 1:1. These are horizontal/vertical rectangles and squares.
2. There should be three Tile sizes per ratio: Big, Medium, and Small.
3. There needs to be a fixed border between each Tile. The border needs to be between 15-25 pixels. All borders must be +/- 2 pixels in size.
4. A Big Tile, a Small Tile, and three borders should add to 640 pixels
5. Ideally, 2 Medium Tiles would equal 1 Big Tile, 1 Small Tile, and a border
6. Ideally, 1 Medium Tile would equal 2 Small Tiles and a border
7. You can use a combination of vertical or horizontal Tiles to achieve this
8. 120x120 is the smallest image size we think the eye can tolerate for a Small
9. One “Big Tile” in its entirety must be viewable between every one to two iOS screens (640x1136 pixels)
10. Only one “Big Tile” may be viewable in its entirety per iOS screen. However, you may see the edges of one or more “Big Tiles”. Example of seeing edges of “Big Tiles”: http://note.io/1flKiGq.
11. However, you can dynamically pad borders up to +/- 2px to fill in small, odd gaps. Example of what not to do: http://note.io/1bykgOw.
12. Do not allow any two adjacent Tiles to repeat in the same pattern within two iOS screens. Example of what not to do: http://note.io/1cC9LLw
13. Do not have three of the same types of Tiles touching each other. Example of what not to do: http://note.io/1cCayMi
IMPORTANT: When constructing Tiles, we would ideally not form any gaps that a Tile cannot fit into. If the mathematics is too complicated to make this happen, then we would want to do the following:
1. have as few gaps as possible
2. have as large gaps as possible
3. do not have any gaps that touch other gaps
These gaps will be filled with images or text and must be larger than 120x120
WHERE I HAVE GOTTEN SO FAR:
I am able to get the Big, Medium, and Small parts to fit nicely width-wise: http://cl.ly/image/38012e0e2A1A
The problem is that their vertical lengths do not divide nicely into each other: http://note.io/19oFrTM
Thus, gaps are created OR I have to consistently use same-length Tiles to complete the width of the bigger Tile, thus allowing me to neatly place another size Tile next to it: http://note.io/19oFwa0
I posit that this issue can be addressed by getting vertical length Tiles that fit neatly into each through some combination of Tiles (and we have 9 Tiles here so far) while maintaining the same neat-fitting widths. For example, these obviously fit neatly into each other: http://cl.ly/image/0X2U3C352k34 but so far, I can’t find a combination that fits neatly to create any of the bigger Tiles (or any sum of bigger Tiles and other Tiles): http://cl.ly/image/2Q2G2X172n2L
My theory is that the borders can be used to solve this problem simply because when you stack more smaller Tiles to fit neatly into bigger ones, you have more borders. And since borders are a fixed dimension while everything else is relatively based on each other, there must be some size of a border that makes all the geometry work. As a hypothetical example, if there was a Big Tile with length 640 and four medium Tiles with length 150, then a 10 pixel border would allow all those to fit neatly in each other (150x4 + 10x4).
With the current state of how far I’ve gotten, I have no way to use different shape Tiles and avoid gaps since I cannot add up any of the smaller Tiles and create a flat horizontal line: http://cl.ly/image/202D1E3S1p2D
If you have gotten this far, you may be interested in this job. We are looking for a solution and payable on a project basis. If there is an easy solution, we will pay for that too. Please contact me to discuss project details.