I've been out of the games sphere for a long time, but is slerp() really the default idiomatic interpolation approach in modern games nowadays? There are a vanishingly small number of scenarios where lerp() + normalize() doesn't work perfectly well enough and it is drastically faster and SIMD-friendly. That used to be the case at least.
Quaternions
11–20 of 118 posts
Re: Quaternions
#123B1B is also informative, especially in explaining why C was not extended using triplets but 4-tuples were needed: https://youtu.be/d4EgbgTm0Bg . Here’s a Math SE answer on why: https://math.stackexchange.com/questions/1784166/why-are-the... , here’s a more ELI5 discussion: https://www.reddit.com/r/math/comments/9urjyx/why_there_is_n... . I especially like this very intuitive comment in that thread : https://www.redd…
Re: Quaternions
#13[1] https://www.geometrictools.com/Documentation/Documentation.h...
[2] https://www.geometrictools.com/Documentation/LinearAlgebraic...
Re: Quaternions
#143B1B is also informative, especially in explaining why C was not extended using triplets but 4-tuples were needed: https://youtu.be/d4EgbgTm0Bg . Here’s a Math SE answer on why: https://math.stackexchange.com/questions/1784166/why-are-the... , here’s a more ELI5 discussion: https://www.reddit.com/r/math/comments/9urjyx/why_there_is_n... . I especially like this very intuitive comment in that thread : https://www.redd…
It depends on how you define "such" n-tuples. The octonions (n = 8) aren't associative, but they have all the other relevant properties.
Re: Quaternions
#15I've been out of the games sphere for a long time, but is slerp() really the default idiomatic interpolation approach in modern games nowadays? There are a vanishingly small number of scenarios where lerp() + normalize() doesn't work perfectly well enough and it is drastically faster and SIMD-friendly. That used to be the case at least.
as for why lerp+normalize isn't enough: it all depends on the distance between things being blended, no? With far away end points, the apparent speed of the rotation would be fast, slow, fast, at the beginning, middle, end, which could be a bummer.
In practice, the former is often provably never going to happen, and the later doesn't actually matter from a qualitative standpoint: Quaternion interpolation will always look a bit weird over large angles, especially if there's a roll component to one of the orientations.
As far as having a constant interpolation speed: again, this is rarely perceptible, and truly linear transitions from one orientation to another looks janky so some amount of filtering happens anyways (an ease-in-ease-out for example).
But yeah, for very large interpolations, it can create a slight authoring/runtime skew. My rule of thumb used to be: use slerp() when the orientations can be at least 120 degrees apart, or when lerp() yields weird results. However, it's really rare to be interpolating over such a large orientation change, you almost always have a few keyframes or dead-reckoning syncs in between.
Again: This might be an outdated perspective though.
Re: Quaternions
#16I've been out of the games sphere for a long time, but is slerp() really the default idiomatic interpolation approach in modern games nowadays? There are a vanishingly small number of scenarios where lerp() + normalize() doesn't work perfectly well enough and it is drastically faster and SIMD-friendly. That used to be the case at least.
It works great if the chord is far away from the center (and also the angle is less than a half turn). If the chord goes through the center, it doesn't work at all.
Re: Quaternions
#17> although a lecturer once eluded to them during a class in my masters Would be more amusing if "they eluded a lecturer" or "a lecturer once elided them". ("alluded to them").
Re: Quaternions
#183B1B is also informative, especially in explaining why C was not extended using triplets but 4-tuples were needed: https://youtu.be/d4EgbgTm0Bg . Here’s a Math SE answer on why: https://math.stackexchange.com/questions/1784166/why-are-the... , here’s a more ELI5 discussion: https://www.reddit.com/r/math/comments/9urjyx/why_there_is_n... . I especially like this very intuitive comment in that thread : https://www.redd…
Re: Quaternions
#193B1B is also informative, especially in explaining why C was not extended using triplets but 4-tuples were needed: https://youtu.be/d4EgbgTm0Bg . Here’s a Math SE answer on why: https://math.stackexchange.com/questions/1784166/why-are-the... , here’s a more ELI5 discussion: https://www.reddit.com/r/math/comments/9urjyx/why_there_is_n... . I especially like this very intuitive comment in that thread : https://www.redd…
> prove that no such n-tuples exist for n>4. It depends on how you define "such" n-tuples. The octonions (n = 8) aren't associative, but they have all the other relevant properties.