Fitting Functions to the joints

Current Plan: Analyze the joint movement for each component of a given joint hierarchy.

  • Start with the segment’s parent, like the shoulder joint (FL1), and run a script to query the tz and ty values across each frame. There is a trick to this though: Since the rotoscoped joint isn’t fixed in space, set up a “centroid-like” locator and subtract this from the joint’s position information.
  • Now you have  a text file with the tz and ty spatial information across each frame. These values are pretty rough since they were from rotoscoped video footage with little control. Don’t forget that.
    • upload the images later
  • Now, by looking at the data, try and estimate as many “clean” periods as you can. Shave off the rest of the data.
  • In Matlab, periodically extend these values.
  • Might have to filter by doing some windowing… probably not at first.
  • Run an FFT on the data with Matlab. You should be getting spikes indicating the dominant frequencies.
  • Take around 5 to 10 of the most prominant spikes. These frequencies will be used as the coefficients in the next step.
  • Create a sine wave generator for each of the prominant frequencies from the previous step. Use the frequencies as the coefficients for the sine wave generator.
  • Sum the sine wave generators to receive the output function that should fit the input data.


LINKS on FFTs in Python and setting up SciPy and NumPy:


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: