# tom_mai78101

Members

880

693 Good

• Rank

• URL
• Interests
|programmer|
1. ## tom_mai78101

Currently job-seeking for entry level positions.
2. ## tom_mai78101

Currently job-seeking for entry level positions.
3. ## [Poll] Managing my limited free time while job seeking

Problem is, I get turned down for internships because they are mostly looking for undergraduates who are still in school, instead of me who is in the transitioning phase from Masters to Doctorate.
4. ## [Poll] Managing my limited free time while job seeking

I'm polling to see what choices can I make during my spare time, while I'm looking for a job. I'm a recent graduate, so I no longer am in school.   I feel like I need to brush up on some of the stuffs taught in class, but another part of me felt like finishing up on the open-source project that I'm working on. What to choose?   If anyone have a better choice for me to do something else more productive, which also benefits me while job seeking, please specify, so I can take a look.
5. ## What is the Quaternion equivalent for multiplying two 3x3 rotation matrices together?

Ah, it seems I was missing a conjugate to achieve rotation multiplication with quaternions. No wonder I was confused about this. I will heed your warning. Is there anything else I am missing in regards to quaternion alternatives to rotation matrix multiplications?
6. ## What is the Quaternion equivalent for multiplying two 3x3 rotation matrices together?

The order I'm using is the order going from the left to the right. Same with the example I used in the GIF at the very top. I thought I was consistent enough and therefore there's no need to explain or define the multiplication order for both the Mat3x3 and the quaternions. Sorry.   As for the code snippet I mentioned, I was referring to your quote saying:       To me, it sounds like you were referring that, assuming the order of operations is exactly the same (going from left to right, and the placement is   result = old * new   The pattern of the following operation:   Mat3x3 result = Mat3x3 old * Mat3x3 new, where operator* denotes the multiplication, and Mat3x3 is the type.   Is exactly the same, literally and logically, as the following operation (just the pattern):   Quaternion result = Quaternion old * Quaternion new, where operator* denotes the multiplication, and Quaternion is the type.   I would like to seek clarification on this. Thanks again.
7. ## What is the Quaternion equivalent for multiplying two 3x3 rotation matrices together?

So, this is correct? // Generate new local_rotation, matrix-wise // local_rotation = rotation matrix representing the current orientation // new_rotation = rotation matrix representing the difference. (Rotation difference from new_rotation to local_rotation). // total = rotation matrix representing (the final new orientation) total = local_rotation * new_rotation // Generate new local_rotation, quaternion-wise // local_rotation = quaternion representing the current orientiation. // total = quaternion representing (the local_rotation + the difference from the old orientation to the the final new orientation.) total = local_rotation * total
8. ## What is the Quaternion equivalent for multiplying two 3x3 rotation matrices together?

Let's say you have a 3x3 matrix that stores an object's current rotation. As we know, by multiplying it with a new 3x3 rotation matrix, we will get a brand new rotation matrix.   newMat3x3 = Mat3x3A * Mat3x3B.     Now, I have came across an issue where I see Mat3x3 rotation matrix being multiplied together to form the spinning cube, shown above. But the device that I'm using has limited memory, prompting me to figure out (and struggling along the way) to find an alternative to multiplying rotation matrices using quaternions (since it saves memory). In other words, I would like to replace rotation matrices with quaternions, but I don't know what is the quaternion equivalent to 2 rotation matrices multiplied together.   What is the quaternion equivalent to Mat3x3 * Mat3x3, or rotation matrix multiplications?   PS: I mashed 2 copies of the same cube together, so it is directly overlapping each other. One of the cubes is not spinning, because that cube is used for implementing the quaternion alternative method, but the method is not complete, so the orientation is set to its quaternion identity. So, no, it's not a graphical glitch, but an intentional test.
9. ## Porting a physics engine: What do these variables stand for?

Yep, just added them in. Unfortunately I didn't come up with the names for a lot of these things. Extent. Incident. Bleh. Also it's much easier to just derive things on paper and copy down into the code the equations, so a lot of abstract symbols come up, like e and whatnot. Apologies if any of that is confusing. Hopefully, some of the issues/pull requests are handled. I noticed there is one which resolved some other confusing parts in your code, but I have no idea if it is better. Thanks again.
10. ## Porting a physics engine: What do these variables stand for?

Not sure. Nonetheless, yay! Thanks.
11. ## Porting a physics engine: What do these variables stand for?

Oh, that's even better. Thanks, and I'll try my best to fetch the answers for this thread, so future readers will be able to see them.
12. ## Porting a physics engine: What do these variables stand for?

I'm currently porting / learning C++ code of a lightweight physics engine over to a C code variant engine. The lightweight physics engine is qu3e, written by Randy Gaul. Source code   While porting the code over, I spot a few things that I'm confused about. Given that there are no comments that explain what these variables are for, and doesn't say what their meanings are, I am asking for help to explain the meaning and intentions for these variables.   _____________________________________________________   Here's one.   I know Feature Pairs in a physics engine refers to "The closest pair of features (edge or vertex)". So I am confused about what inR, inI, outR, and outI stands for. What do these 4 variables have to do with Feature Pairs?   _____________________________________________________   This is another one.   In this context, I know this struct is referred to as the Axis-Aligned Bounding Box struct, or AABB. Even with that in mind, I still have no idea what the e variable represents in the AABBes. Is there something important about the letter "e", as in, it could be some mathematical constant? Or is it energy?
13. ## Best method of reading 4x4 matrices of various orientations?

The question is asking about human readability, to read the various matrix orientations in a way that the method can be applied to all situations. So, when the human is reading the line of code and picturing the numbers, the human will project the relations for each member of the matrix by referring it to the mathematical representation of an ideal matrix that the human has a preference over. In other words, since every developers have their own ways of piecing the matrix data together in their minds, one of which is "considered" better than the other based on preference, I am proposing a shortcut method interpreting the data into a very high-level concept that the human can grasp, and can be "translated" to their respective context given for various libraries. I have this idea when I was working on a 3D graphics library, and I still have trouble grasping the concept of a different matrix orientation that I'm unfamiliar with my math textbook mathematical representation. Whenever I make a big change to a matrix math function, I would sometimes get told the matrix is inadvertently transposed than it was intended, and that kind of confusion would lead me to frustrating debugging situations. With this method I proposed, I find reading matrices in my head a bit easier to do. I'm very sure there are more better methods than my idea.