
Linear Algebra Linear Algebra Math Forum 
 LinkBack  Thread Tools  Display Modes 
April 28th, 2017, 03:48 AM  #1 
Newbie Joined: Apr 2017 From: United Kingdom Posts: 2 Thanks: 0  New position based on spatial offset and rotation
I'm working on a project which I am hoping will teach me more about maths, but I am struggling to wrap my head around this one. I have got an electromagnetic motion tracker which tracks a sensor in global space. It gives me its position (xyz) and its rotation in Euler angles (yaw, pitch, roll). I have attached the sensor which is tracked to a baseball cap which is worn by someone and this allows me to track their head movements. However, I want to then infer the position of facial features based on this position and rotation value. To do this, I have calculated an estimated spatial offset between the sensor and the facial feature I wish to track. I have done this my measuring the offset along the X, Y and Z axis. I was beginning to think I was making progress but I am now stuck again. I have composed a rotation matrix from the Euler angles given to me by the motion tracker. I think that I will need this rotation matrix, but I'm just not sure on the rest of the process. I'm not necessarily looking for someone to calculate it for me, but rather to help me understand the process I need to go through. I have done a lot of reading online and there are a few things which I think are going to help me, but then I struggle to link it directly back to what I want. To recap: I have the position of the motion tracker in global space (attached to the top of the person's head) I have the rotation matrix representing the rotation of the motion tracker in global space I have the spatial offset between the sensor and the facial feature (measured along the X,Y,Z axis in global space. I am trying to use the above information to calculate the new position of the facial feature in global space should the person move their head. Last edited by skipjack; August 10th, 2017 at 02:47 AM. 
May 2nd, 2017, 05:02 AM  #2 
Newbie Joined: Apr 2017 From: United Kingdom Posts: 2 Thanks: 0 
OK so I think I may have come up with how to do it. I would appreciate it if someone could go over my workings and confirm whether or not I have reached the correct approach. I have the following recorded values for a specific point in time: Motion tracker sensor in global space (p1) Motion tracker sensor orientation as euler angles (rX, rY, rZ) Position of a facial feature in global space (p2) I get the spatial offet by p2  p1. I use this to create a translation matrix (T) I take the following steps to allow me to calculate the position of the facial feature in global space for all subsequent recordings of the motion tracker sensor in global space. 1. I subtract the original motion tracker orientation from the motion tracker orientation to give me the delta orientation in x, y, z. 2. I create a rotation matrix (r1) 3. I record the new position of the motion tracker (p2) 4. I multiply p2 * r1 5. I translate the resulting vector by T 6. The resulting vector (I hope) is the facial feature position in global space. 

Tags 
based, offset, position, rotation, spatial 
Thread Tools  
Display Modes  

Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
I want to understand the math behind OpenGL quaternion, rotation axis and rotation an  TheForgetfulGamer  Applied Math  1  February 8th, 2017 10:16 PM 
Distance between two offset unequal circles  GsJosh  Algebra  16  January 22nd, 2012 11:37 PM 
From relative rotation to absolute rotation in 3D space  Maegfaer  Algebra  1  August 27th, 2010 10:01 PM 
Find point given lati/long offset, heading and distance  anubis2007  Algebra  0  July 21st, 2010 01:00 AM 
Offset in 2 global 3d rotation given euler angles  princebilly  Algebra  0  March 31st, 2009 04:45 PM 