2
$\begingroup$

I am trying to create subdivision tilings inspired by the work of Brian Rushton (eg. page 77 of this paper). The challenge is to subdivide tiles according to a certain rule, and then apply this rule recursively to the result.

For example, a square might be subdivided by this rule which splits it into 5 more quadrilaterals. Each of these must then be subdivided again by the same rule, but since the tiles to subdivide are no longer square, a mapping function must be applied to find the vertex positions of the child tiles. What is the best mapping function to use? Here is an illustration of what I mean.

I think the definition of best is:

  • Vertices on the edges of the un-mapped tile end up on the edge of the mapped tile.
  • All vertices stay within the parent tile.
  • The appearance of the child tiles are distorted as little as possible.

I am developing a web app that makes this process interactive which is here, and you can try out the two functions that I have explored so far, but they both have issues. If you would like to experiment or contribute the source code is on github here!

$\endgroup$

1 Answer 1

1
$\begingroup$

Have you looked at Cannon, Floyd & Parry's subdivide and tilepack programs ? https://personal.math.vt.edu/floyd/research/software/subdiv.html Designed to create input files for Ken Stephenson's CirclePack software http://www.circlepack.com/software.html

$\endgroup$
2
  • $\begingroup$ Thanks for the suggestion, I think their software is the best way to do it :) I am wondering how to use it in my app, maybe I will need to read through the source code for that. I think it is also worth noting that due to the circle-packing approach, only convex tiles can be created with this method $\endgroup$ Commented Oct 9, 2023 at 22:19
  • $\begingroup$ I think you can define any shape you want as the Riemann Mapping Theorem applies $\endgroup$ Commented Oct 11, 2023 at 2:03

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.