You are on page 1of 2

# Amanda Squeo, Exercise One, Page 1

Exercise One: Phyllotactic Pattern Demo
This interface is divided into several sections, neatly divided by
separators and clearly labeled for the user. The default values are
shown to the right.

Basic Controls
The user can switch between the two particles – simple sphere (0)
and spiked mace ball (1). The user can adjust the spread of the
pattern, the size of the individual florets, the number of florets,
and the angle of the phyllotactic pattern formula. Using Vogel’s
Formula the phyllotactic pattern is based upon this algorithm
found within the Phyllotactic_CopyNode:
Translate X: ch(“../FSpread”) * sqrt(\$CY) * cos(CY * ch(“../FAngle”))
Translate Y: ch(“../FSpread”) * sqrt(\$CY) * sin(CY * ch(“../FAngle”))

Overall Controls
These controls offer translations and rotations in X, Y, and Z for
the overall pattern’s being. These controls exist due to
Overall_Controls node located at the end of the Phyllotactic’s
node tree.

Color Ramp
There are two colors that can be customized to conform to the
pattern regardless of the number of florets. The color to the left
originates in the center, the color to the right is represented at the
very edge of the pattern. The following formula established color
links to the florets in the Color_Ramp node:

Color R: chramp("../colorRamp",
stamp("../Phyllotactic_CopyNode", "colorIndex", 0), 0)
Color G: chramp("../colorRamp",
stamp("../Phyllotactic_CopyNode", "colorIndex", 0), 1)
Color B: chramp("../colorRamp",
stamp("../Phyllotactic_CopyNode", "colorIndex", 0), 2)

Special Controls
This section contains special controls that yield interesting results. Bend in X and Bend in Y allow the
user to bend the pattern in the respective direction either positively or negatively; these controls can
also be used individually or together. Unfortunately due to the nature of the Bend node, this attribute
cannot be used if the floret is the spiked mace ball, since it’ll stretch them beyond recognition.
Amanda Squeo, Exercise One, Page 2

Floret Rotation Randomness is a slider that controls how random the rotations are of the individual
florets. The higher the number, the more degrees (0-360) for the algorithm to calculate with, therefore a
wider array of random numbers. For example, the rotations of the florets will be more dramatic – and
more obvious - if the value of Floret Rotation Randomness was 270 versus 27.

Rotate X, Y, and Z in the Phyllotactic_TransformNode: stamp("../Phyllotactic_CopyNode", rotateshape, 0)
Phyllotactic_CopyNode rotateshape Stamp: rand(\$CY)*ch("../FRotateRand")

Chaotic Spread is an attribute that can only be used when the Floret Rotation Randomness value is
higher than 0. This “chaoticness” appears to be the random spreading of the florets in various
directions; this is actually caused by the combination of the individual’s rotation orientation and the
movement of the pattern’s pivot in the Phyllotactic_TransformNode. The higher the Floret Rotation
Randomness value, the more “chaoticness” in the scene. From the camera’s point of view, the florets
appear as if they were wandering around in different directions.
Phyllotactic_TransformNode Pivot X, Y, and Z: stamp("../Phyllotactic_CopyNode", pivotpoint, 0)
Phyllotactic_CopyNode Stamp: ch("../XTromPivot")

Cone Expansion is rather self-explanatory, the pattern extends either positively or negatively in a cone
shape. The expression behind this feature can yield a dramatically long cone, so to help reduce that
expansion is the Cone Expan. Reduction option. This can only be used alongside Cone Expansion and
serves as additional control. By increasing the value of Cone Expan. Reduction, the more the cone’s
expansion is reduced. This cone option exists within the Phyllotactic_TranslateNode in Translate X.
Phyllotactic_TransformNode Translate Z: stamp("../Phyllotactic_CopyNode", coneExpan, 0)
Phyllotactic_CopyNode Stamp: (ch("../ConeExpan") * sqrt(\$CY))/ch("../ExpanReduc")

Spike Controls
This section only applies to the physical appearance of the spike mace ball. The ball itself is simply made
of a cylinder and a sphere, in which the cylinder is applied to align with the individual points of the
sphere’s mesh. The expressions within the cylinder’s attributes are incredibly blunt and straightforward.
This is true for all except for the Center Z’s height which controls how close the spikes are to the surface
of the sphere: ch(“height”) * 0.35. The controls are very self-explanatory.