Tutorial 13: Blooming Flower
Build a flower that blooms open as it rises — star-shaped petals arranged in a ring that twist and grow from a tight bud at the base to full bloom at the top.

What you'll learn
- How to use Polar Array to arrange shapes in a circular pattern
- How to use Star to create pointed petal shapes
- How to drive Scale and Rotate with
normZfor height-based animation - How Map Range converts
normZ(0–1) into a custom scale range
Prerequisites
- Completion of Tutorial 12 (Parametric Cup) is recommended.
Step 1: Define your flower variables
Set Variable
Interactive preview is available in the interactive reader.
Step 1
Create five slider variables
Add five Set Variable blocks at the top of your Path Group, each with Show in Viewport enabled:
- petalCount =
6— number of petals
Step 2: Center with Translate
Translate
Interactive preview is available in the interactive reader.
Step 2
Center the flower on the bed
After the variables, add a Translate block with X = Bed Size X / 2 and Y = Bed Size Y / 2.
Step 3: Add Stack Layers
Stack Layers
Interactive preview is available in the interactive reader.
Step 3
Stack layers for the flower height
Inside the Translate body, add Stack Layers with Start Z = Layer Height, End Z = flowerHeight, Layer Height = Layer Height.
Step 4: Add Scale for the bloom effect
Scale
Interactive preview is available in the interactive reader.
Step 4
Scale from bud to full bloom
Inside the Stack Layers body, add a Scale block. For both SX and SY, use a Map Range block: Input = normZ, In Min = 0, In Max = 1, Out Min = 0.3, Out Max = 1. This scales the entire flower from 30% at the base to 100% at the top — the bloom effect.
Step 5: Add Polar Array for petals
Polar Array
Interactive preview is available in the interactive reader.
Step 5
Arrange petals in a ring
Inside the Scale body, add a Polar Array with Count = petalCount, Center X = 0, Center Y = 0, Radius = arrayRadius. This distributes copies of whatever is inside evenly around a circle.
Step 6: Add Rotate for the twist
Rotate
Interactive preview is available in the interactive reader.
Step 6
Twist petals as they rise
Inside the Polar Array body, add a Rotate block. For the Angle, build: normZ × bloomTwist using an Arithmetic (×) block with Variable (normZ) on the left and Get Variable (bloomTwist) on the right. Each layer rotates a bit more than the last.
Step 7: Add the Star petal shape
Star
Interactive preview is available in the interactive reader.
Step 7
Create star-shaped petals
Inside the Rotate body, add a Star block with Points = 5, Outer Radius = petalSize, Inner Radius = petalSize × 0.4 (use an Arithmetic (×) block with Get Variable (petalSize) and Number (0.4)).
Complete block program
Here is the full block program as it should look on your canvas:
Full program — Tutorial 13
Interactive preview is available in the interactive reader.
Final block structure
| # | Block | Where | Values |
|---|---|---|---|
| 1–5 | Set Variable | Path Group | petalCount=6, petalSize=12, arrayRadius=20, flowerHeight=40, bloomTwist=90 |
| 6 | Translate | Path Group | X = bedsize_x/2, Y = bedsize_y/2 |
| 7 | ↳ Stack Layers | Inside Translate | Start Z = LH, End Z = flowerHeight, Step = LH |
| 8 | ↳ Scale | Inside Stack Layers | SX/SY = mapRange(normZ, 0→1, 0.3→1) |
| 9 | ↳ Polar Array | Inside Scale | Count = petalCount, Radius = arrayRadius |
| 10 | ↳ Rotate | Inside Polar Array | Angle = normZ × bloomTwist |
| 11 | ↳ Star | Inside Rotate | Points=5, Outer=petalSize, Inner=petalSize×0.4 |
Outcome
You should see a flower that blooms open from a tight bud at the base to full spread at the top, with each petal twisting as it rises. The combination of Scale, Rotate, and Polar Array creates an organic, spiraling form.
Load this tutorial
Want to skip the building steps and jump straight to the result?
Interactive preview is available in the interactive reader.
Interactive preview is available in the interactive reader.
What's Next
Tutorial 14: Wobble Vase — Use Sin and Cos to make a vase that sways organically as it spirals upward.