OpenGL & Rotation Matices

Started by
8 comments, last by Blind1701 10 years, 6 months ago
.
Advertisement

Matrix product is not implemented as component-wise multiplication..

Matrix product is not implemented as component-wise multiplication..


Thanks for the reply, however I'm not quite sure what you mean, Im pretty new to OpenGL, and C++ for that matter. I've simply tried following tutorials, but adapt them to my matrix class. Could you elaborate please?

Many thanks

What he's saying is that, if you have two matrices, then to multiply them you don't just take the individual components and multiply them. That is effectively what you're doing when you multiply the elements of CameraMatrix1 by the sine and cosine factors that make up the rotation matrix. Matrix multiplication is much more complex that that.

You need to read up on linear algebra, or at least matrix math. A quick search for matrix multiplication reveals plenty of sources.

What he's saying is that, if you have two matrices, then to multiply them you don't just take the individual components and multiply them. That is effectively what you're doing when you multiply the elements of CameraMatrix1 by the sine and cosine factors that make up the rotation matrix. Matrix multiplication is much more complex that that.

You need to read up on linear algebra, or at least matrix math. A quick search for matrix multiplication reveals plenty of sources.


You are quite right. I've been so stuck in this mindset I never looked back at what I thought was already correct. Well I'll see what I can come up with. Thanks. Maybe now I can make some progress
You might want to consider using something tried and tested like GLM. It also includes several helper functions which replicate the behavior of the deprecated OpenGL functions.

A good matrix/vector library takes quite a bit of effort to write and make bug-free. Unless you have specific needs or requirements rolling your own is nothing but a lengthy and annoying chore.
Thanks for all the advice, I'll look into GLM after I'm done with this little project, I've fixed the matrix math and I've got my object rotating around the origin (where the camera is placed), So I attempted to translate before the rotation is applied and then translate back after to reset the origin (as I have done previously with glRotatef) however the translate calls are making no difference and the object is still rotating around the original origin, any ideas?
Without seeing the relevant code, it's only possible to guess. It appears either your matrix multiplication is still broken or the translation matrices you create are faulty.

Without seeing the relevant code, it's only possible to guess. It appears either your matrix multiplication is still broken or the translation matrices you create are faulty.


Ignore post, made a silly mistake.
Fixed it! Sorry for making so many basic mistakes throughout this thread, I've learned a lot. many thanks to everyone and hopefully I'll not make the same mistakes again

This topic is closed to new replies.

Advertisement