
A Journey into Fourth Dimension
Visualizing 4D Geometric Transformation through Algorithms
Geometric Computation, Visualization
💡
How can we visualize the 4D transformation as slices in 3D world?
In this project, we explore the concept of the fourth dimension as a spatial entity, distinct from the commonly perceived notion of time as the fourth dimension. We envision a scenario where a fourth spatial axis, W, exists perpendicular to the traditional three-dimensional heterogeneous coordinate system (x, y, z), thus every point in this space is defined by four components (x, y, z, w). The focus is on understanding how beings perceiving four dimensions would experience their world. While these beings would see in 4D, our familiarity with 3D allows us to interpret and 'visualize' these 4D perspectives. The challenge lies in learning to deduce the fourth spatial dimension from 3D representations.
3D Slicing of 4D Rotational Transformation
In the Grasshopper script, the initial step involves scaling and positioning the imported file at the world center, followed by remeshing the existing 3D scan objects into a predetermined number of points. Within the C# components, the algorithm extends these points along the fourth axis (w = [-10,10]) and applies a four-dimensional rotation matrix to them. The subsequent stage involves filtering out points where the w coordinate equals zero. For visualization purposes, the script assigns colors to the remaining points based on their original relative distances from w = 0. This approach results in sequential images that clearly depict which points originate from different hyperplanes in the four-dimensional space.

Grasshopper Script for Visualizing 3D Slicing of 4D Transformation

180 ° Rotation in XY,XZ,YZ,XW,YW,ZW Axis At W=0 Hyperplane
4D Factal Transformation
In the second part of the project, we delve into the realm of four-dimensional fractals to create forms encapsulating information from the fourth dimension. Specifically, we focus on the Julia Set, a fractal known for its complexity in four dimensions, based on the equation z = z^2 + c. This equation is remarkable for mapping the behavior of recursive feedback loops where the output is continually fed back as input, generating 4D hyper-complex numbers. Such a system is sensitive to even minuscule perturbations, which can significantly alter the sequence of iterated function values. To bring this concept to life, we utilized Blender's Python API to implement the code for the 4D Julia Set, translating the 4D hyper-complex numbers into 4D heterogeneous coordinates (X, Y, Z, W). Through this process, we conducted a series of experiments on formal transformations by varying the W dimension. The pivotal part of the code, demonstrating these transformations, is outlined below, showcasing our approach to visualizing and understanding the intricate nature of four-dimensional spaces.
def quat_sq ( pt4_q) :
pt4_r. X = pt4_q. X * pt4_q. X - np.dot ( pt4_q. YZW, pt4_q. YZW)
pt4_r. YZW = 2 * pt4_q. X * pt4_q. YZW
return pt4_

4D Fractal Transformation (by Lingbo Li)

Rendering of a 4D Julia Set Fractal Geometry (by Lingbo Li)