How to create geometries using motion tracking recorded live from Fologram

Get this example: (15.8 KB)

This colorful ribbon geometry was created with Fologram’s simple live motion tracking components in Grasshopper. If you’re looking for interesting ways to make use of Fologram’s tracking tools, this example will turn your device’s location into an input parameter for your design.

Motion capture tools are notoriously expensive, time consuming to setup and difficult to capture recorded content. Fologram;s tracking tools are a simple solution to motion capturing from any device connected to a session. In this example, a mobile device is tracked in Fologram to create a colorful ribbon in grasshopper that follows the device location. The ribbon twists based on its curvature, and grows or shrinks in width depending on the movement speed from the mobile device.

The example uses Fologram’s ‘track device’ component to track the location of any device connected to the session in real time. This is then represented as a lofted surface derived from a twisting algorithm based on the curvature at each control point along the curve. The width of the ribbon varies by measuring its distance from the previous tracked point, which tethers the width to the speed of the device. A mesh colour gradient is applied to the vertices of the Mesh at the end of the definition.

Want to learn more about Fologram’ tracking tools? Check out our “The 3 best ways to track live geometry in mixed reality with Fologram” article to find out more!

Hi Fologram! could you show how we would adapt this definition to make multiple separate meshes?
I tried to do so by changing the track device to on drag and this helps by letting me turn on and off the tracking by pressing the screen but when I start again a new device movement the mesh just continues from the old one… would like to fill my room with multiple separate fologram drawn ribbons! Thanks!

Hey @kerbs

One of the following two ways is probably the ticket:

  1. Use the track state component to check for the Release state, plug this into a state gate component with one output called Release and connect this to a component that bakes the ribbon to Rhino
  2. As above, but use a global variable to store a list of ribbons and add the current ribbon geometry to this list instead of baking. You would then need to have some components that listen for updates to this global list of ribbons and syncs them.

Give it a go and if you need a hand I can knock something up for you!