A Mathematical Approach to Classifying Poi Patterns, using Trigonometry to Model Weaves

Continuing my series exploring pieces of my poi math paper step-by-step. I've previously gone over the basics of the math and how to use it to model simple flowers and third order motions. Today, we're covering how weaves can be modeled using these same trig functions.

4. Modeling Simple Weaves

Most if not all 3D poi patterns that do not utilize plane breaks (more on those later) do utilize plane bends to attain their shapes. I am indebted to Alien Jon for the idea of christening this family of moves manifolds after the topological concept to which they all adhere. This family of movement contains, but is not limited to weaves, thread the needles, inside moves (inversions, introversions, lovelaces, barrel rolls, etc), body tracers, and toroids. To begin to model these movements, we must add a z-dimension to our equations to begin to process them in terms of depth. As we examine these shapes, please note that as with our flowers, these patterns are being modeled agnostic of real-world coordinates such that x, y, and z axes are relative to the desired coordinates of the performer. x could just as easily be up-down as it could be side-side or even be measured along a diagonal axis.

Let us begin with the simplest of all manifolds: the 2 beat weave. Functionally, modeling this move is identical to modeling one hand’s performing the standard 2 beat weave, thread the needle, windmill, crosser, hip reel, and indeed any 3-dimensional 2 beat move with a single cross point. To model this, we use the equation x=sin(2t), y=cos(2t), z=sint.

This results in a pattern in which the poi oscillates slightly different in two axes than it does in the third one. To better see this illustrated, I’ve tweaked the graph just slightly to see the shape produced not just by the poi head but also the tether in three dimensions.

Here we see the behavior of the poi is a plane that intersects and twists upon itself, producing what topologists refer to as a self-intersecting plane or real projective plane. To tease out what is going on in this equation, let’s take the pieces we’re already familiar with: in x=sin(2t), y=cos(2t). We have an equation that theoretically should yield a circle with radius 1, we just happen to be drawing it twice. By adding z=sint we are saying that for every time the poi returns to its starting point in the z axis, it has returned to its starting point twice in both the x and y axes, thus completing two “beats” for every one “beat” on the z axis. The hand path here can be understood as a straight line back and forth across the z axis.

But what about a more complex weave, like say a 3-beat weave? It is actually easier to achieve than you may think. All we have to do is change the 2 multiplier on the x and y axis to 3 instead, yielding this equation: x=sin(3t), y=cos(3t), z=sint.

Here we have the poi completing 3 “beats” in the x and y axis in the time it can return to its starting point on the z axis. Once again, the handpath has been simplified down to a straight line in very much the same way that we simplified the handpath of a static spin down to an infinitely small point. We can extrapolate this same pattern out to create 5 and 7 beat weaves easily. The equation we would use to describe these simple weaves, then, would look like this:


Where d is the number of beats in the weave we are trying to model. Now again bear in mind, this approach to modeling is totally agnostic of orientation to the body, so 5 beat weaves can come out looking identical to lovelaces and barrel rolls. A more comprehensive approach that includes the body will be needed to properly sort out all these subtypes of simple weave manifolds.

5. Modeling Body Tracers

To make matters slightly more complex, however, we can model body tracers. These are flowers that do deviate along the z axis such that a petal or two can be placed behind the body. One simple example can be modeled using the equation x=sint+sin(3t), y=cost+cos(3t), z=sint:

It may be difficult to tell from this angle, but this is actually a 2-petal inspin flower with one petal high on the top/down axis and one petal low down on this same axis. To aid with identification, I have added the following view from slightly above this one:

This will result in a 2-petal inspin flower in which one of those petals will be behind the performer and the other petal in front of the performer. It could also be a flower in which one petal is on their right side and the other is on their left side, or even perhaps one above their head and one below their shoulders. Either way, the performer is achieving not only a 2-petal inspin flower, but also varying the flower’s depth in space to vary the placement of the petals around their body. We can achieve similar results by multiplying t in the poi terms by -3 instead of 3 to get a 4-petal antispin body tracer using the equation x=sint+sin(-3t), y=cost+cos(-3t), z=sint.

Again, the perspective is a little confusing. The top petal of the flower is the bit that is farthest to the left of the image while the bottom petal is the loop that crosses the arrow pointing to the lower right corner. Here it is from slightly above to clarify the shape slightly:


Just like with the 2-petal inspin flower, the top petal here can be placed on one side of the body and the bottom petal on the other side. Really, body tracers can be modeled with an equation almost identical to the one we used for flowers earlier in document only with the simple addition of a sine function on the z axis.


So far our exploration of manifolds has not required any math that is radically different from what we have already explored, but we have yet to explore more complex weaves or toroids. These will be the greatest challenges we encounter in our attempts to model poi patterns.

6. Modeling Complex Weaves

First: what is a complex weave? We’ve already discussed 2-, 3-, 5-, and 7-beat weaves and set aside inside moves for another time, what could be more complicated than these? Well, weaves have more or less become a de facto title assigned to the performance of moves that would be normally considered in the flower family, but wrap around the body in ways more complex than a body tracer. Body tracers fundamentally are built out of 2-beat weaves in that part of the pattern is on one side of the body and part is on the other side of the body. Complex weaves involve creating versions of patterns where the complete pattern exists on each side of the body. For example, one can perform a triquetra weave wherein rather than having part of the triquetra on each side of the body (as in a body tracer), we use one petal of the triquetra as a cross point to transition from a triquetra on one side of the body to one on the other side. This particular instance can be modeled using the following equation: x=sin(2t)+sin(-4t), y=cos(2t)+cos(-4t), z=sint. Here is that pattern already rotated to a point where it will be more intelligible:

Here is the same pattern with the handpath also graphed to provide a reference point as to how the hand and poi paths are interacting.

As you can see, the hand path is nearly identical to a 2-beat weave, so the resulting poi path is bent around it. I will not model additional complex weaves as I think it is easy enough to think of other patterns that conform to this framework. However, I will provide the equation with variables necessary to model these patterns for yourself. Bear in mind, when you hear people mention things like isolation or cateye weaves, this is how to model such a thing.


Where h is the radius of the handpath in the x/y axes:

  • d is the number of beats the hand gets for every beat along the depth or z axis, 
  • p is the phasing of the poi pattern, 
  • and f is the number of downbeats the poi has in relation to the number of beats in the handpath.

Bear in mind if you are trying to produce a flower where f=-2, you will now have to make f=-2d in order for the pattern to model properly. Here variable values for a few such patterns:

Isolated 3-beat weave:
Cateye 3-beat weave:
2-petal inspin 2-beat:

Tomorrow, we'll get into how to model toroids with these same trig functions.

Your rating: None Average: 3 (2 votes)

Subscribe for updates!

* indicates required