Tiling squares on the plane, methods

  • Context: Graduate 
  • Thread starter Thread starter Coin
  • Start date Start date
  • Tags Tags
    Plane Squares
Click For Summary
SUMMARY

The discussion centers on the mathematical problem of tiling squares on a plane with specific side identifications and rotations. The user seeks a method to determine the rotation of tiles based on their coordinates, specifically a function R(x,y) that returns the rotation angle (0, 90, 180, or 270 degrees) for each tile. Additionally, the user expresses the need to incorporate reflections into the tiling process, complicating the identification of sides. The challenge lies in deriving the rotation from the tile coordinates, which is not straightforward and may require recursive equations for a solution.

PREREQUISITES
  • Understanding of basic topology concepts related to tiling and side identification.
  • Familiarity with coordinate systems and transformations in a 2D plane.
  • Knowledge of rotation angles and their application in geometric transformations.
  • Basic understanding of recursive equations and their use in problem-solving.
NEXT STEPS
  • Research methods for calculating transformations in 2D geometry, focusing on rotation and reflection.
  • Explore recursive algorithms and their applications in geometric problems, particularly in tiling.
  • Learn about side identification techniques in topology and their implications in computer graphics.
  • Investigate existing algorithms for tile placement and rotation in computational geometry.
USEFUL FOR

This discussion is beneficial for mathematicians, computer scientists, and game developers interested in geometric transformations, tiling algorithms, and computer graphics programming.

Coin
Messages
564
Reaction score
1
Hm, is this the right place to ask this? It's kind of a topology question, I guess.

Let's say I've got a square. It's got four sides.

Code:
______
|  1  |
|2   3|
|  4  |
------

And I want to tile this over and over on the plane.
Code:
________________________
|  1  |  1  |  1  |  1  |
|2   3|2   3|2   3|2   3|
|  4  |  4  |  4  |  4  |
------------------------
But! Sometimes, as I place the tiles, I want them to rotate.

Code:
________________________
|  1  |  2  |  1  |  1  |
|2   3|4   1|2   3|4   1|
|  4  |  3  |  4  |  3  |
------------------------

If you think about it, both of these tilings are defined by "identifying" sides. In the first, normal tiling, I identified the following sides:
(2,3)
(1,4)

In the second, rotated tiling, I identified:
(1,2)
(3,4)

Here (1, 2) being "identified" means that if you go off the edge of side 1, you'll find yourself just on the other side of side 2.

This all make sense?

So, here's my problem:

I'm doing this in a computer program. And once I've chosen the side identifications, I want to draw the tiling on the screen. So every time I draw a tile, I have a tile coordinate, say, [0,0] or [3,4]-- [3,4] meaning, like, the third tile over on the x-axis and the fourth tile up on the y axis. If that makes sense?

So given only that coordinate, I need to figure out: This tile I'm about to draw, what amount of rotation does it have?

In other words, I need some procedure for calculating the function
R(x,y)
Where R returns, for the tile at the coordinate x,y, is it rotated 0, 90, 180, or 270 degrees?


So my second tiling above would look like:

Code:
T(0,0) T(0,1) T(0,2) T(0,3)
0      90     0      90
___________________________
|  1  ||  2  ||  1  ||  1  |
|2   3||4   1||2   3||4   1|
|  4  ||  3  ||  4  ||  3  |
---------------------------

---

...It actually gets worse. Once I have this worked out, I have to figure out what happens if I add reflections-- I.E. with reflections a set of identfications might be
(2,3)T
(1,4)
...T for twisted, such that the tiling looks like:

Code:
________________________
|  1  |  4  |  1  |  4  |
|2   3|2   3|2   3|2   3|
|  4  |  1  |  4  |  1  |
------------------------

---

Does the question I'm asking make sense, and does anyone have any insight on this? It seems like this ought to be a problem that someone, somewhere has had to solve before.

The annoying thing about this problem is that if I needed the reverse of what I need, that would be easy-- if I had the function R(x,y) I could easily calculate the (1,3)+(2,4) mappings from it, by just querying R(0,0), R(1,0), R(1,1), etc until I had all the sides accounted for. But going the other way around seems difficult or at least very nonobvious.
 
Last edited:
Physics news on Phys.org
I suspect you can get your answer simply by setting up a (family of) recursive equation(s), and then solving it (them).
 
Hurkyl said:
I suspect you can get your answer simply by setting up a (family of) recursive equation(s), and then solving it (them).

Hm, I'm sorry but I'm afraid I'm not really sure what "recursive equations" means in this case? The only examples of "recursive equations" I can think of would involve something transforming over time, which isn't at all happening here... hm.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
3
Views
2K
  • · Replies 17 ·
Replies
17
Views
1K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
1
Views
2K