Decompose rotations of a vector

  • Thread starter Thread starter TheDestroyer
  • Start date Start date
  • Tags Tags
    Rotations Vector
AI Thread Summary
To generate a circular signal in C++, the user inputs a normal vector, and the goal is to find two perpendicular vectors to this normal. The approach involves defining a plane using the normal vector and a point on the plane, then solving for a vector that satisfies the orthogonality condition with the normal. By selecting arbitrary components for this vector and normalizing it, the cross product can be used to derive the other two perpendicular vectors. This results in a complete orthonormal basis of unit vectors that can be utilized for generating the sine and cosine components of the circular signal. The method effectively decomposes the rotation needed to align the vectors appropriately.
TheDestroyer
Messages
401
Reaction score
1
Hello guys,

I'm programming a class in C++ that generates a circular signal. The signal consists of a sin and cos in perpendicular directions.

The user has to input the norm to the surface, and the program generates the sine and cosine in 2 perpendicular directions to that norm to generate the circular signal.

The question is the following. If the user provided this vector, how can I find those 2 perpendicular vectors?

I think this problem can be reduced to finding the Euler angles that rotated this vector from being parallel to the z plane. So that the cosine remains on the x-axis, and the sine on the y-axis. Is it possible to decompose it that way?
 
Last edited:
Mathematics news on Phys.org
TheDestroyer said:
Hello guys,

I'm programming a class in C++ that generates a circular signal. The signal consists of a sin and cos in perpendicular directions.

The user has to input the norm to the surface, and the program generates the sine and cosine in 2 perpendicular directions to that norm to generate the circular signal.

The question is the following. If the user provided this vector, how can I find those 2 perpendicular vectors?

I think this problem can be reduced to finding the Euler angles that rotated this vector from being parallel to the z plane. So that the cosine remains on the x-axis, and the sine on the yyaxis. Is it possible to decompose it that way?

Hey TheDestroyer.

If you have the vector that is normal to the surface, then you can define the plane using n . (r - r0) = 0 where n is the normal and r0 is a point on the plane. Now to get the orthornomal basis (the two perpendicular vectors with respect to the supplied one) you have to solve the equation n . a = 0 for some a. Just choose the x and y components of a randomly and then solve for the z component of a. Normalize a to a unit vector.

After this you take the cross product of n and a to get a vector b and then take the cross product of n and b to get c. Normalize c and b and your perpendicular orthogonal unit vectors to n are the normalized c and b vectors and that completes your orthonormalization.
 
Thanks a lot, man :-)
 
Suppose ,instead of the usual x,y coordinate system with an I basis vector along the x -axis and a corresponding j basis vector along the y-axis we instead have a different pair of basis vectors ,call them e and f along their respective axes. I have seen that this is an important subject in maths My question is what physical applications does such a model apply to? I am asking here because I have devoted quite a lot of time in the past to understanding convectors and the dual...
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. In Dirac’s Principles of Quantum Mechanics published in 1930 he introduced a “convenient notation” he referred to as a “delta function” which he treated as a continuum analog to the discrete Kronecker delta. The Kronecker delta is simply the indexed components of the identity operator in matrix algebra Source: https://www.physicsforums.com/insights/what-exactly-is-diracs-delta-function/ by...
Back
Top