Trying to answer to Thomas' question: algorithm for the curve generation.
I hope people will not disappoint like I was when I read about Truchet tiles. I felt like when a magician explain his trick and the magic is lost.
Truchet Tiles are square tiles decorated with patterns that are not rotationally symmetric. When placed in a square tiling of the plane, they can form varied patterns.
https://en.wikipedia.org/wiki/Truchet_tiles
You choose your set of "Truchet" tiles and rotate them the way you like,while paving the wall.
I chose the Quarter-Circle tile: two quarter-circles connecting the midpoints of adjacent sides.
Usually, Truchet Tiles are on a plane! I wanted to tile on a surface. As far as a curvilinear coordinate ( U V) system can be used for a surface, you can feel safe.
Algorithm
1. Divide surface (by its U and V) -> you got the pavement and tile system
2. for each tile of the pavement
- get the list of edges (4 edges)
- Shift the list of 0 or 1 randomly
3. for each edges
- Get mid point
- create a segment orthogonal to the edge toward the exterior of the tile
4. create a connect curve between point 1 and 2 of the tile and tangent to the segments of step3
5. create a connect curve between point 3 and 4 of the tile and tangent to the segments of step3
6. circle sweep the curves
Issues / Modeling tricks
- to set a direction toward the exterior of the tiles, I had to use a condition, Dispatch-End Dispatch.
- I could not use Divide function on a Torus. I had to split the Torus into 2. This will be reported to R&D
Next Try
- Hexagonal tiling instead of square tiling.
Request
- Longer weekends...
