now I know your first thought is going to be rotation matrices, but take a moment to think about how they're applied...
I'm wondering if there isn't something more efficient, or if there really needs to be that many operations per bone and vertex.

I'm looking for the smallest data structure, as well as how to convert to and from it, with application as well.
all of which hopefully housing less than 16 operations per bone.

I'm currently trying euler angles which are believed to have fewer operations for building the influence result, though I'm told otherwise.
(please don't bring up gimbal lock as it's not even a factor, since I'm not applying them 1 axis at a time)
but I'm currently having a problem finding an accurate conversion algorithm from quaternions...
pretty much every algorithm uses asin, limiting the offending axis by 90° max movement.
if not that, then the orientation is improper, XZY or YZX for example, and flipping them around illogically yields improper results...

proper orientation is in OpenGL terms, related to your monitor:
X - width
Y - height
Z - depth

now in rotation, this applies as such with a plane facing towards you:
X - pitch
Y - yaw
Z - roll

there's other terms referring to attitude, heading, and bank, but I don't understand the relations...

could someone help clear up these conundrums, or perhaps provide code please :)
comments appreciated as I would like to learn what each line does :)

many thanks, and credit to you in my project. :)

also, please don't mention 3rd party packages... I'm doing my own stuff and would prefer to avoid locks.
I don't care about reinventing the wheel again

Recommended Answers

All 3 Replies

hey there grib, it's been a while =)
I'm on discord if you've wondered, pm me if you'd like an invite :)

anyways, interesting read, though I can't really understand math...
(took pre-algebra 3 times because I was too overwhelmed by the amount of homework to pass the class)
^ I understood the work just fine, but the amount was just overwhelming... it never got finished in time...
I barely took algebra 1 in 12th grade and passed...
anyways, if you could translate that to very raw code (any easy language), it would help out very much :)

nice find btw :)
even skimmed across the euler version, which might clear things up a bit there as well.
big thanks!

oh good, lost my edit... forgot this forum has a time limit >_<

so I did some googling and found the formula was susceptible to gimbal lock...

I do have a code which applies eulers to vectors using matrix math to avoid gimbal lock,
but one of the reasons for this question was to figure out it I could do something with less operations...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.