Content deleted Content added
Undid revision 1225465899 by Quantling (talk) It is inappropriate to make spelling changes to comments on talk pages. |
→xyzw order?: Reply |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1:
{{Talk header |hide_find_sources=yes}}
{{WikiProject banner shell |class=C |collapsed=yes |
{{WikiProject Mathematics|priority=mid}}
}}
{{User:MiszaBot/config
|archiveheader = {{talk archive navigation}}
|maxarchivesize = 80K
|counter = 2
|minthreadsleft = 5
|minthreadstoarchive = 2
|algo = old(730d)
|archive = Talk:Quaternions and spatial rotation/Archive %(counter)d
}}
== Compared to rotation matrices ==
Line 973 ⟶ 43:
<math display="block">\vec{\rm z} = \tfrac{1}{\sin \left( \frac{\theta}{2} \right) }\,\vec{v}</math>
<!-- Template:Unsigned --><small class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Jalexiou|Jalexiou]] ([[User talk:Jalexiou#top|talk]] • [[Special:Contributions/Jalexiou|contribs]]) 16:26, 11 June 2022 (UTC)</small>
== rotations and matrices ==
Line 979 ⟶ 51:
Shouldn't that be the other way around? That is, one rotation has two representations – not that one matrix can represent two rotations. —[[User:Tamfang|Tamfang]] ([[User talk:Tamfang|talk]]) 05:41, 2 August 2023 (UTC)
== xyzw order? ==
I believe when written as four numbers, it is relatively common to write them with the cosine term last, ie it is a 3-vector containing the axis multiplied by sin/2, followed by cos/2. This lines up the vector with 3-space vectors written in homogenous coordinates, making it very popular in code that already has to deal with those. Anybody know if there is any real convention to do it this way, and/or the way shown in the article with the cos term first? [[User:Spitzak|Spitzak]] ([[User talk:Spitzak|talk]]) 17:55, 8 October 2024 (UTC)
:In many contexts, quaternions are written as the sum of four parts in a specific order: the real part, the i part, the j part, and the k part. That form carries over to having the cosine be first, and is the one that I am most familiar with. If you've seen it the other way ... then there are (at least) two ways to do it. If this is a vote, I vote for having the {{math|cos}} term first. —[[User:Quantling|<span class="texhtml"><i>Q</i></span>uantling]] ([[User talk:Quantling|talk]] | [[Special:Contributions/Quantling|contribs]]) 18:19, 8 October 2024 (UTC)
::Not suggesting it be changed, just wondering if it should be noted in case somebody is looking at code that works that way. Looking at some existing code such as Pixar's math library, it looks like they are pretty careful to make the api return the real and vector parts as two different pieces, and indexing only works on the vector (ie you write quat.vector[2] to get the z, not quat[3] or quat[2]). I think though there are some tiny advantages on GPUs to storing the quaternions as xyzw so this is often done. [[User:Spitzak|Spitzak]] ([[User talk:Spitzak|talk]]) 23:56, 8 October 2024 (UTC)
:::Looking at Pixar's `GfQuatd` it does appear to lay out the memory as I said, but they definitely hide this in the api. There is a 4-number constructor but it has the real part first, then the imaginary vector. In the private part of the data structure they store 4 doubles and they put the real part last, this may have been done so the memory can be sent to the GPU. Some other libraries I looked at seem to store the real part first. [[User:Spitzak|Spitzak]] ([[User talk:Spitzak|talk]]) 00:08, 9 October 2024 (UTC)
|