Joshex Posted May 19, 2020 Posted May 19, 2020 (edited) In a 3D rotation(orientation) matrix, the trigonometry used to find the grid space change a point encounters during rotation by a Euler angle is arrayed in a hap hazard 3x3 Matrix where the math to convert from a Euler angle to the new point of rotation on X, Y and Z Axes overlap in the 3x3 space. I need to be able to isolate each axis individually from the matrix as it's number (or set of numbers) so they can be easily callable via scripting so I can mathematically operate on a single axis.. Also I need help to then merge multiple matricies representing the axes of orientation into a single matrix which defines all 3 axes (is it just adding matricies together?). If it helps, I am working in local orientation, vs global. But that shouldn't matter for the general methods of operating on a matrix. Also I would like to create a single axis orientation matrix based on the angle between 2 given points in 3D space assigning the axis myself based on which set of points are being referenced. for example I have an X set of points and a Y set of points to go with a Z set of points. A further and more simple question has to do with the means of operating on the matrix I have at all, according to the programming api I am using, the orientation matrix needs to be transposed to be used with the Matrix math tools. What physical change would this transposition create on the physical orientation of the object? would I have to transpose back when I'm done to be consistent? In my opinion we really need a more simple system for 3D rotation and orientation, a matrix of sine, cosine and tangent with all 3 axes thrown into literally the same cells is just a visual nuisance to programmers. However I have yet to think up a valid system to replace it; most likely a combination of a Euler angle representing the amount of change as a reference and the current point on that axis, followed by maybe just the cosine keeping each axis in it's separate tuple list for ease of reference. But yeah regardless I'm probably not going to be able to change the industry standard, regardless how unnecessarily complicated it is. and for my current software there is no way to change the system anyways, it only takes orientation matricies when setting an object's angle. so yeah help knowing what operations will get me what are kinda important. I'd appreciate some help here. thanks. Edited May 19, 2020 by Joshex
Joshex Posted May 21, 2020 Author Posted May 21, 2020 If anyone knows better than me, please correct me. I mostly just use matricies in code, it handles all the math for me (hence me not knowing what physical changes will happen based on it.) I was forced to learn these in uni, and managed to learn how to mathematically operate on matricies. but they never explained what the matrix actually meant or what sort of data was where. they taught us how to convert a vector or set of vectors into a matrix, but I forgot that. My main concern is after searching for a way to get the information for a single axis from a 3 axis rotation matrix, there really is no way other than converting it to a set of euler degrees.. to me that just seems silly. so because I may be ignorant of such a method, I was asking here. lets simplify my questions a bit: 1: lets say I have a matrix defining the orientation (3D angle) of an object to show where it's pointing. now lets say I want to get the amount of X axis rotation out of this matrix so I can modify it and put it back. how can I do that? 2: next, lets say I have 2 points in 3D space, and I want to get the local 2D angle between those points and set that angle as the angle of an axis (lets say Y), how would I do this so I can just easily add it to an existing matrix, or replace the current Y axis in the matrix with this new angle? 3: what does transposing an object's orientation matrix do to the angle it is pointing? does it change (how)? does it stay the same?
huang3721 Posted July 11, 2020 Posted July 11, 2020 My math teacher taught me that we could rotate a vector by multiplying it with a rotation matrix. On the other hand, we could calculate angle between two vectors using trigonometry. This "orientation matrix" is weird.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now