It was discovered through play that by wrapping the outlying vertices of a group of tessellated Rhombic Dodecahedra with a convex hull, an approximation of a Truncated Octahedron was produced. Upon further investigation, it was discovered that an approximation of a Rhombic Dodecahedron emerged by wrapping the outlying vertices of a group of tessellated Truncated Octahedra with a convex hull.

# Tag: unity

A space-filling polyhedron is one that can be used to generate a tessellation in space. That means that by duplicating and translating (not rotating) the shape, we can create a three-dimensional tiling that leaves no gaps between its constituent shapes. This is of course easy to visualize with a cube; things begin to get both messy and interesting when you explore tessellations with other non-platonic space-filling shapes. And so began my brief but exciting journey into the lands of the Rhombic Dodecahedron.

In Unity projects, especially for newcomers, creating a smooth camera action can be especially frustrating (it has always been frustrating for me). A camera script feels like it should be a simple piece of code, and generally, it can be - if you know the right API calls to make and how they work. This post describes the process of creating a simple, free-floating, lerping camera.

In the last technical post about the Icosphere, we designed and employed a Coupled Ring Search to detect the observation region. This is the region that we will break down into descendant triangles when the observer draws near enough – and eventually, pack back up into ancestor triangles when the observer retreats far enough.

At this point in our development of the Icosphere, we can render our Abstract Icosphere. We can recurse the Icosphere uniformly and non-uniformly. Additionally, we can detect an "observation region" of configurable radius. In this post, we'll tie together all of the work we've done so far in order to make our Icosphere interactive. I've also put together a live, video software demo of the Icospherical World Model.

At this point, we have an Icosphere which we can uniformly recurse to any depth we like. We also know that we can asymetrically recurse any arbitrary face of the icosphere, but we have no system for detecting or determining which face(s) to recurse. Ultimately, we want the faces directly "below" the observer to be the faces under recursion - and the rest of the icosphere to remain unaffected.

We now have all of the information we need to harvest our mesh data from the Abstract Icosphere. We will begin with a simple Awake() method, which Unity will run before all else on program start. This awake method will initialize the icosphere, acquisition the Mesh from the Game Object to which this script is attached, initialize a few other variables which we'll come to later, and call our heavier methods, HarvestMeshData and CreateMesh.

PISES has already come a long way and is able to model a number of basic galactic structures along the Hubble sequence. This video provides a neat, top-level summary of how PISES forms galaxies, ages galaxies, and models gravitational interaction.