JujuAdams / basic-quaternions

Basic quaternion implementation for GameMaker
MIT License
11 stars 2 forks source link

Bug with euler->quaternion, and some new functions #3

Open Antidissmist opened 1 month ago

Antidissmist commented 1 month ago

The euler->quaternion function has some flipped signs compared to the code here: https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles and so converting from euler->quaternion->euler yields different angles when they should be the same. 🤕

Also there are some things I'd like to add to the library that I thought I'd ask about first. 1: a quat->euler function 2: a rotation matrix -> quat function 3: a rotation matrix -> angles function, which isn't reallly a quaternion function, but I found useful when working with these. 4: a few code comments to explain some of the functions and limits of the functions better.

JujuAdams commented 1 month ago
  1. Make a separate PR for each bug you've found.
  2. Please make a separate PR for this.
  3. Please make a separate PR for this.
  4. I agree it's useful, but that is not something that should be part of a quaternion library (libraries should be focused). I'm happy to include such code in the repo but not in the .yymps, and I am further happy to link to another dedicated repo that has this code. Please make a separate PR and/or repo as you see fit.
  5. Lack of comments is semi-deliberate as I wanted to position the library as boilerplate replacement rather than a newbie's introduction to the topic. I am open to changing this position. Could you give an example of comments you'd like to add?

Please also note that I won't accept PRs that male tons of changes or upgrade the GameMaker version (which is LTS for this library). Keep things focused so it's easier for me to quickly overview changes.