3

I'm trying to write code that will generate tilings that look like this:

http://tilings.math.uni-bielefeld.de/substitution_rules/2_component_rauzy_fractal_dual

https://en.wikipedia.org/wiki/List_of_convex_uniform_tilings

Any sort of pointers are welcome.

Thanks in advance.

  • 1
    what have you tried? do you want vector or raster output? what kind of approach you want to use (geometric, turtle graphics,algebraic/analytic... )? I think you should start with encoding single fractal you chose in all approaches you know and then chose the one best suits your need before adding the randomness step ... I would try turtle graphics + random polygon fractal genere&test approach for fractallness – Spektre May 18 '16 at 07:40
  • Hi, thanks for your reply. So far I've only created a square grid by drawing equally spaced horizontal and vertical lines. I was looking to find an algorithm that would create uniform tilings as vectors. My ultimate goal is to create a method that takes in a 'Wythoff symbol' or something similar and produces the tiling. I can create stuff in objective-c using similar methods to turtle graphics. Is creating tilings the same as making fractals? Do you know any resources that can get me started? Have you seen any algorithm does something like this? – Nader Neyzi May 19 '16 at 01:04
  • 1
    if you want regular polygon tilings then you just need basis vectors adition to superposition the tiles but for "arbitrary" shape tilings you need to use fractals. You need to change your input shape to fractal-like shape able to fill the grid without overlaps or gaps. That is not easy and I think even NP hard problem. That is why I would use turtle graphics as it can produce fractals really easy. you just genere some permutation of the input polygon until you got 2 or more of the same polygons after apply fractal step. If done you got what you need if not use different permutation... – Spektre May 19 '16 at 06:48
  • 1
    for example triangle grid in turtle graphics is `fract="m1 l120 m1 l120 m1 l120"` and then just replace `fract=turtle_replace(fract,"m1 l120","m1 r120 m1 r120 m1 r120 m1 l120"); fract=turtle_replace(fract,"m1 r120","m1 l120 m1 l120 m1 l120 m1 r120");` N times ... the `m1` means line of size 1 and `l120` means turn left by 120 degrees , `r120` means turn right ... So if you could find any fractal recursion that creates the same shape nesting you just remember the tiles offset and orientation and can create arbitrary sized grid ... – Spektre May 19 '16 at 08:14
  • Awesome, thanks for the pointers. I'm going to try some of the things you mentioned, will post my results. – Nader Neyzi May 21 '16 at 03:23
  • "if you want regular polygon tilings then you just need basis vectors adition to superposition the tiles" Could you please help me with it? For example I see https://en.wikipedia.org/wiki/List_of_convex_uniform_tilings - the list with unclear symbols.. but I need the formula or program: which angle step, which translation, in the loop, to produce for example this pattern https://en.wikipedia.org/wiki/Truncated_hexagonal_tiling What is "3.12.12" I can't understand. Related link to https://en.wikipedia.org/wiki/Vertex_configuration show for "{3,3} = 33 / Defect 180°". I need generic rules to any – user1694306 May 24 '18 at 22:17

0 Answers0