g
πŸ– Drag to orbit  Β·  β˜€ Add a light source  Β·  πŸͺ΄ Rotate the pot
⏸ PAUSED
Tap in the scene to place the light

πŸ₯‘ Torture the Avocado

A plant tropisms simulator Β· Amir Porat (2026)
Based on: Porat et al. (2020) Front. Robot. AI 7:89
πŸ–

Drag the scene to orbit, pinch or scroll to zoom.

⏸

Use Pause / Reset at the top to freeze or restart the simulation.

πŸ“‘

The tabs at the bottom control each tropism. The ? button explains the shape dynamics.

πŸͺ΄

Torture the plant by rotating the pot (Pot tab) or moving the light source (Light tab).

Examples

πŸ₯‘ Torture the Avocado

🌱 How growth works

The stem is a 3D curve. Growth occurs along the green growth zone β€” when one side elongates faster than the other, the stem bends. The brown mature zone is permanently fixed.

Slow the growth rate right down to watch curvature build step by step.

πŸͺ΄ Torturing the plant

The classic way to torture a houseplant is to rotate the pot β€” the stem was growing toward the window, and now gravity and light pull it a different way. Use the Pot tab to tilt and spin. You can also move the light source to the other side and watch the plant chase it. What shape can you grow?

Rotate the pot 90Β°, then add a light on the opposite side β€” gravity and light will pull the stem in competing directions.

⬆ Gravitropism

Plants sense gravity and grow against it (shoots) or toward it (roots). Negative sensitivity = shoot-like, grows upward. Positive = root-like, grows downward.

Rotate the pot 90Β° and watch the plant slowly correct itself.

β˜€ Phototropism

Add a point light source and the plant bends toward it. Sensitivity follows Stevens' power law β€” response grows non-linearly with signal strength. Drag the β˜€ sphere to reposition it; use the height slider to move it up and down.

Try slowly rotating the light around the plant and watch the stem follow.

πŸ”„ Autotropism (proprioception)

The plant senses its own curvature and resists over-bending β€” like an internal straightening drive. Without it the stem would spiral without limit. The balance number B = Ξ²Β·L_gz / Ξ³ describes whether autotropism dominates (Bβ‰ͺ1, smooth straightening) or the tropism response overshoots (B≫1, oscillatory tip).

Set Ξ³ = 0 and watch the stem curl out of control.

πŸŒ€ Circumnutations

Many plant shoots spontaneously spiral their growing tip in circles β€” driven by an internal oscillator, not any external signal. This helps climbing plants search for supports. You can tune the amplitude and period.

Combine circumnutations with a light source for rich 3D paths.

Ξ” Differential growth vectors

The Ξ” tab overlays arrows showing the differential growth direction at each cross-section of the growth zone β€” the direction in which one side of the stem elongates faster than the other. Each arrow shows one stimulus (gravity, light, autotropism, or circumnutations), and the Total arrow is their vector sum. Arrow length is proportional to magnitude.

Created by Amir Porat (2026) Β· built with Claude
Porat et al. (2020) Frontiers in Robotics and AI 7:89
drag to orbit Β· pinch to zoom
Growth zone 5.0 R
Active growth zone
Fixed mature zone
Plants sense the direction of gravity. Gravity always points downward, even after rotating the pot.
Sensitivity g -0.5
↑
↑ Negative β†’ shoot (grows away from gravity)
The plant bends toward a point light source. Sensitivity follows Stevens' power law.
Sensitivity Ξ² 0.5
The plant senses its own curvature and resists over-bending β€” an internal straightening drive called autotropism or proprioception.
Sensitivity Ξ³ 1.50
An internal oscillator spins the growing tip in circles β€” seen in many shoots, especially climbing plants searching for supports.
Amplitude Ξ»β‚€ 1.00
Period 5.0 s
Differential growth vectors at every 5th growth-zone segment, in lab frame. Arrow length ∝ |Ξ”|.
Amir Porat (2026) Β· built with Claude Porat et al. (2020) Front. Robot. AI 7:89 β†’