3d rotation of accelerometer vectors

Click For Summary
SUMMARY

The discussion focuses on the 3D rotation of normalized accelerometer vectors using matrix multiplication. The user seeks to rotate vector data A by another set of normalized vectors B to obtain a third set of vectors D. The recommended approach involves expressing the rotations in a Cartesian standard frame (x, y, z) and constructing a rotation matrix. The final transformation is achieved through the multiplication of the rotation matrices R3, R2, and R1 with the initial vector matrix A.

PREREQUISITES
  • Understanding of 3D vector mathematics
  • Familiarity with rotation matrices
  • Knowledge of Cartesian coordinate systems
  • Basic proficiency in C/C++ programming
NEXT STEPS
  • Research how to construct rotation matrices for 3D transformations
  • Learn about Euler angles and their application in 3D rotations
  • Explore matrix multiplication techniques in C/C++
  • Study the implementation of vector normalization in programming
USEFUL FOR

This discussion is beneficial for mathematicians, computer graphics developers, and engineers working with 3D motion analysis or sensor data processing.

IMK
Messages
61
Reaction score
0
Hello,

I have some accelerometer vector data A (3d vectors x,y,z ) than I have normalized so I guess they are unit vectors. Now what I what to do is to 3d rotate them by another set of normalized accelerometer vector data B so I get a third set of vectors D.

I have tried a simple vector subtraction but this does not seem to work, so can you tell me please what math method I should be using for the please?

Is it Euler angles, Cartesian etc etc.

A method of how to do it would be wonderful, and I know this is not a programming forum but if anyone knows of some c/c++ source for this is would be great.
Many thanks IMK
 
Physics news on Phys.org
Not quite sure what you mean by a rotation by three vectors. I assume a rotation along one axis, then another and finally a third one. Express these three rotations in an Cartesian standard frame: an orthonormal system ##x,y,z##. Then build a matrix ##A## with your initial vectors as columns. One rotation is then a matrix multiplication from the left with a rotation matrix ##R_i##. The result is then ##R_3R_2R_1A##.

The first step, expressing your rotations in an ##x,y,z## frame is, because rotations along these axis are especially easy. You can look them up on Wikipedia for instance.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 47 ·
2
Replies
47
Views
5K
  • · Replies 0 ·
Replies
0
Views
3K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 2 ·
Replies
2
Views
4K