{"action":"created","issue":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4458","labels_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4458/labels{/name}","comments_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4458/comments","events_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4458/events","html_url":"https://github.com/openframeworks/openFrameworks/issues/4458","id":112653278,"number":4458,"title":"Quaternion Product implementation is incorrect","user":{"login":"Poofjunior","id":706699,"avatar_url":"https://avatars.githubusercontent.com/u/706699?v=3","gravatar_id":"","url":"https://api.github.com/users/Poofjunior","html_url":"https://github.com/Poofjunior","followers_url":"https://api.github.com/users/Poofjunior/followers","following_url":"https://api.github.com/users/Poofjunior/following{/other_user}","gists_url":"https://api.github.com/users/Poofjunior/gists{/gist_id}","starred_url":"https://api.github.com/users/Poofjunior/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Poofjunior/subscriptions","organizations_url":"https://api.github.com/users/Poofjunior/orgs","repos_url":"https://api.github.com/users/Poofjunior/repos","events_url":"https://api.github.com/users/Poofjunior/events{/privacy}","received_events_url":"https://api.github.com/users/Poofjunior/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bitesize","name":"bitesize","color":"65a300"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/bug","name":"bug","color":"b31d1d"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/prelim-analysis","name":"prelim-analysis","color":"31e03a"},{"url":"https://api.github.com/repos/openframeworks/openFrameworks/labels/section-internals","name":"section-internals","color":"DDDDDD"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-10-21T18:41:44Z","updated_at":"2015-10-22T06:38:34Z","closed_at":null,"body":"In ofQuaternion.cpp [here](https://github.com/openframeworks/openFrameworks/blob/ac32f4d21ec54577298f5f9ad7636623ee3c441d/libs/openFrameworks/math/ofQuaternion.h), the second line of the multiplication operator is\r\n    \r\n     rhs._v.w*_v.y - rhs._v.x*_v.z + rhs._v.y*_v.w + rhs._v.z*_v.x,\r\n    \r\nbut it should be\r\n    \r\n     rhs._v.w*_v.y + rhs._v.x*_v.z + rhs._v.y*_v.w - rhs._v.z*_v.x,\r\n    \r\naccording to the definition. (See [this page](http://people.csail.mit.edu/bkph/articles/Quaternions.pdf) for the definition)\r\n\r\nIt's just one minus sign, but the net result is that multiplying two quaternions and then retrieving the resultant's angle-and-axis will always flip the sign on the y-axis.\r\n\r\nI'm guessing that this will fix: https://github.com/openframeworks/openFrameworks/issues/785"},"comment":{"url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/comments/150122895","html_url":"https://github.com/openframeworks/openFrameworks/issues/4458#issuecomment-150122895","issue_url":"https://api.github.com/repos/openframeworks/openFrameworks/issues/4458","id":150122895,"user":{"login":"bilderbuchi","id":327442,"avatar_url":"https://avatars.githubusercontent.com/u/327442?v=3","gravatar_id":"","url":"https://api.github.com/users/bilderbuchi","html_url":"https://github.com/bilderbuchi","followers_url":"https://api.github.com/users/bilderbuchi/followers","following_url":"https://api.github.com/users/bilderbuchi/following{/other_user}","gists_url":"https://api.github.com/users/bilderbuchi/gists{/gist_id}","starred_url":"https://api.github.com/users/bilderbuchi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilderbuchi/subscriptions","organizations_url":"https://api.github.com/users/bilderbuchi/orgs","repos_url":"https://api.github.com/users/bilderbuchi/repos","events_url":"https://api.github.com/users/bilderbuchi/events{/privacy}","received_events_url":"https://api.github.com/users/bilderbuchi/received_events","type":"User","site_admin":false},"created_at":"2015-10-22T06:38:33Z","updated_at":"2015-10-22T06:38:33Z","body":"ping @memo who tidied this up last."}}