Recursive Triangle Blossom: A Study in Fractal Symmetry and Scaling
Name: Ahmed Elkartoum
Date: September 11, 2025
Course: George Mason University Math 401: Mathematics Through 3D Printing
Background & Mathematical Motivation
This project explores the creation of a recursive blossom structure using parametric geometry and radial symmetry, inspired by natural flower formations and based on scalable isosceles triangles. The object is generated in OpenSCAD, a script-based solid modeling language widely used in mathematical visualization and 3D printing workflows.
The underlying mathematical concept involves recursive layering, radial symmetry, and geometric scaling. Each "petal" is constructed from a triangular prism, arranged in a circular ring (with a user-defined number of petals n), and recursively stacked in diminishing layers. The transformation for each new layer involves two key operations:
• Scaling: A constant factor s (with 0 < s < 1) reduces the size of each subsequent layer.
• Translation: Each layer is raised vertically by an amount proportional to the scaled height of the previous layer.
Color interpolation was added between two colors (red and yellow) using linear blending. The interpolation is defined by:
C(t)=C1+(C2−C1) ⋅t
where t is a normalized layer index (from 0 to 1). This simulates the radial color gradient often seen in real flowers.
Code & Design Process
The model is written entirely in OpenSCAD using modular and recursive structures. Each triangle petal includes a small curve-like bump by adding an extra vertex between the tip and base to simulate a petal's organic form. The main logic is structured in three custom modules:
• triangle face (): Defines the single petal shape and extrudes it to a prism.
• triangle ring (): Arranges n petals in a ring using rotation around the Z-axis.
• recursive blossom (): Calls itself recursively to build smaller, vertically stacked rings.
Color blending is handled with a custom lerp color(t) function, and scale/height adjustments are passed through recursive parameters. The use of scale () and translate () gives full control over positioning and dimensioning in each iteration.
OpenSCAD is ideal for this approach because it allows mathematical control over geometry, which is especially important for educational purposes involving transformations, recursion, and parametric modeling.
3D Printing Instructions
• Printer Used: Ultimaker S5
• Filament: PLA (Silk Red/Yellow Gradient, 1.75mm)
• Layer Height: 0.2 mm
• Print Time: Approx. 5 hours
• Supports: Not needed
• Raft: Optional; used for better adhesion
• Infill: 10% (though model is mostly solid)
Citations & Resources
• OpenSCAD Documentation: https://en.wikibooks.org/wiki/OpenSCAD_User_Manual
• Geometric Series: https://mathworld.wolfram.com/GeometricSeries.html
Fuente del modelo
