I added two new fractal images to my Artwork & Design page. The first is an updated version of the older kaleidoscopic flame image, except with three axes of symmetry instead of two. The second is an updated version of one of the Yin and Yang fractals, except with added levels of recursion. The idea for the scaling (versus rotation) animation on the latter image was gotten from this YouTube video. Click on the images below to view the animations.
For the VGKD project, I renamed the project from “Video Game Keyboard Diagrams” to “Video Game Keyboard Database”, fixed a bug causing the submission form export to be garbled, added the German Apple keyboard, made it so you can fade or hide the key labels, and added a new set of bindings for League of Legends which was submitted to me by Alex Shafer. I also fixed a bug in the cube snake script that was preventing cube segments from being positioned with the correct z-index.
Lastly, I have been working on getting the procedural POV-Ray script “clutter.mcr” by Jonathan Rafael Ghiglia functioning in order to place trees and shrubbery around Datsville. The script takes several grayscale images or pigments as input. One is for the terrain height, called a “heightmap” or “heightfield”. Another is called a “probability map”, and determines the probability that an item will be placed at a particular location. I have configured the script such that the probabilities are determined by the altitude and slope of the terrain. I would also like to alter the probabilities based on a location’s proximity to moisture, soil type, etc. but that lies beyond my current abilities.
Here are the results so far. The spheres are supposed to represent deciduous trees, and the cones are supposed to represent conifers. Both will eventually be replaced with (much smaller and much more numerous) LEGO equivalents. I plan on adding other types of plants and trees as well.
I uploaded a longer video showing how my colony ship model has evolved over the years, starting with the original CityGen script (created by Chris Colefax). The model is nearly completely procedurally-generated from intersections, differences and unions of spheres, cylinders and boxes. There are a few mesh-based models, but not many. I can change everything on-the-fly just by modifying a handful of configuration settings. If you zoom in really close, everything is pretty low-res, though. People are made from simple ellipsoids; train cars are made from superellipsoids.
I also created a video showing how the city is able to collapse from a flat plane into a narrow tube. The buildings themselves are cylindrical, and are able to shrink or grow to fit whatever radius I specify for the spacecraft. The very first and last frames of the animation are a little wonky: the city does not like to lie completely flat, and there are several trigonometry-related divide-by-zero errors. I’ve tried implementing workarounds, but you’ll notice how some of the textures still disappear or render improperly. A proper fix is probably not worth the effort, since I don’t really need the city to lie flat, anyway, except in the animation.
I have spent the last few weeks moving most of my geometry activities from this site to the online collection at the GeoGebra website. I plan to do the same for my LDraw models, either at Brickshelf, MOCpages or Rebrickable. I’ve also written a new tutorial for the POV-Ray wiki, and created a new solar system scene for the POV-Ray Object Collection and Wikipedia.
I have been busy creating illustrations for Wikipedia. They can be seen on my user page at Wikimedia Commons. Most of them involve the spherical or elliptical coordinate systems somehow.
I also created a series of sectional drawings comparing the internal geometries of the various “Color Spheres” of (from left to right) Johannes Itten, Albert H. Munsell, and Philipp Otto Runge; as well as a fourth sphere created for comparison based on the spherical coordinate system. It is amazing how many ways there are to draw a sphere!
And I updated a couple of existing images that show how the color-making attribute saturation can be determined from the chroma and value parameters of the Munsell Color System. (Though this definition of saturation is a bit different than the one used in the HSL color space I am accustomed to.)
Lastly, I finished an old scene featuring my interpretation of Larry Niven’s Ringworld. It is a giant ring encircling a far away sun, with oceans, continents and Earth-like weather embedded into it. Here’s the latest render:
The source code for these images can be found in my new GitHub repository which I just created for this purpose.
I decided to open an Microsoft Azure account, and use the $200 in free points for new members to render a better version of my colony ship panoramic scene[edit: click here for an external view]. I was still unable to add atmospheric media and radiosity inside the station habitat. They simply take too long to render, even with dual 8-core CPUs and 32GiB of RAM. If I could afford several virtual machines linked together to form a render farm, maybe it would be feasible to enable them. But that would cost a lot more than the points I have available, I think.
Google Cloud has a similar offer for new customers, but limit you to a single CPU with 4 cores and 8 threads until you “upgrade” your subscription. So I did not find it very useful.
I noticed this week that some links to tutorials I had written a long time ago had gone dead, either because the websites they were hosted at went down, or because the websites they were hosted at transitioned to a new content management system or wiki. I fixed these links where I could, and re-wrote them and incorporated them into my website where I couldn’t. See my POV-Ray, Lego, GearHead and Geometry pages.
Today I also started working on a new panoramic scene for GearHead (now abandoned by its creator, judging by the game’s website) based on my previous Spinner Colony scene. Since I bought a new computer I am able to render them much faster in POV-Ray. Here’s a sneak peek:
Here are my latest two renders. I tried to render at a higher quality level, including atmospheric media and a nice area light, but it was simply taking too long. The source code can be found on my GearHead page.