After covering Penrose tiling in Blender, Robin Wilson now continues with a more generic type of non-periodic tiling structures.
Robin writes:
You might remember a short while ago, when I posted about Penrose tiling in Blender, I had mentioned that Penrose tiling is a kind of non-periodic tiling.
Well, I'd now like to share with you a Blender script that can generate many kinds of non-periodic tiling! This includes Penrose tiling, but many others as well. If you want to try out my script, you can find it, along with a brief tutorial, at the CG from Space Blog.
Feel free to send any questions or suggestions in my direction :-)
The pattern I generated above is the "Watanabe Ito Soma 12-Fold Variant", one of many tiling patterns whose method of generation you can find listed in the online Tilings Encylopedia.
12 Comments
wow!
I have an observation: The newsfeed at blender.org website keeps featuring gems like this script and the "object assembler" addon very frequently.
And yet many of them do not show up in the "External" addons list here:
http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts.
Why is that?
IMHO there should be some process to make sure that all the showcased addons/scripts get added to the "external" list positively.
If any volunteers are needed, I am available.
Thanks!
I think you've pinpointed the problem exactly: they need volunteers to keep those lists updated. It's a wiki, so you can add anything you see fit!
Why not make it part of the process of publishing the add-ons themselves... nobody knows a given add-on better than its own author, and if there were an official process that required creating the wiki entry at the website, maybe through a text field that updates the wiki itself, it could become more automatic to do so. This is as much an issue of good infrastructure planning as it is of personnel.
No official webpage for this? Make one.
I had posted a reply but it vanished. Posting again...
The blender.org site offers some guidance to addon authors, if they follow this path:
Home page > Get involved > Development > Scripters
This page has a link that shows the addon submission process.
However, the wiki does not describe how to code a fresh Addon, or convert a Python script into an Addon.
Just for the record, if anyone would like to see this script as an add-on, I'm willing to work towards that. I don't know how to build add-ons, but if anyone could point me to some documentation (or just lend me a hand), I'd be happy to try.
One problem with the way I set up this tool is that it uses object naming conventions to distinguish between "tiles" and "tiles which define substitution rules". Maybe this isn't a very tidy way of doing it as an add-on?
The tool also gets slow after 3-4 iterations. I'd love it if anyone could lend me some assistance in optimizing it for speed.
A third problem is that this tool isn't really possible to use without documentation. I'm not a professional mathematician, so in order to create a tiling that works (i.e. no holes, no overlap), I had to look up existing patterns and their substitution rules which were published in the Tiling Encyclopedia.
BTW ... what does the "object assembler" tool do, and where can I find it?
It would be fantastic to have this addon! It should have a drop-down list of various patterns, so that users can generate the desired pattern right from its menu.
@how to convert script to addon: There is no wiki help.
@How to submit the addon: http://wiki.blender.org/index.php/Dev:Doc/Process/Addons
Thanks in advance!
I missed the earlier post, this is really cool Robin!
Please, please, do not expect users to copy and paste code from Web pages. Particularly not Python code where whitespace can completely change the meaning of the code.
Get yourself a GitHub account, and learn at least some basics of version control. It will multiply your programming productivity, and your powers of collaborative programming, immensely.
Thanks! I'll check it out.
Do you need an account to access code that I post?
No, anybody with a Git client can pull stuff from a public repo. Also if you tag a commit, then GitHub offers an automatic download of that version as a .tar or .zip archive.
Once you have a repo there, others can fork it, send you pull requests, open issues etc.
Can you put .blend files on there?
Yes.