您如何可视化四元数?


24

当我可视化三维旋转矩阵或缩放矩阵时,我将其可视化为三个轴。

有没有类似的方式可以使我看到旋转四元数?


这是不是一个真正的可视化,但有人曾经对我说的是“复数:2个::四元数:4”
coderanger

Answers:


19

一本整整600页的有关“可视化四元数”的书:http : //books.google.ca/books? id=CoUB09xzme4C& lpg= PP1&ots= uEdJHsni9y&dq= Visualizing%20Quaternions& pg= PP1#v= onepage& q&f= false

这本书实际上相当不错,涵盖了广泛的主题。它从与游戏有关的线性代数的入门开始,讨论了矩阵和向量,它们的缺点以及为什么要使用四元数。然后说明了它们是什么以及如何使用它们。如果您有兴趣,可以取下来:http : //www.amazon.com/Visualizing-Quaternions-Kaufmann-Interactive-Technology/dp/0120884003


1
为“可视化四元数” +1,这是本很棒的书,也强烈推荐该书
Maik Semder 2011年

7
一本好书,如果那个链接变坏了,那么这个答案将是完全没有用的。我建议您在答案中提供一些有关如何可视化四元数的信息。
MichaelHouse

10

我喜欢的一种可视化方法是将四元数(在3d空间中的方向)表示为矢量x,y,z分量)+自旋(围绕矢量的旋转,存储在w分量中)。

如果您正在寻找用于四元数的在线可视化程序,则可以始终使用wolframalpha:

http://www.wolframalpha.com/input/?i=quaternion%3A+0%2B2i-j-3k&lk=3

看看标记为“相应的3d旋转”(3d矢量+自旋)的可视化效果:

在此处输入图片说明

我发现在3D引擎中使用四元数时它很有用。


1
现场回答!这样一来,人们还可以理解SLERP机制,因为他们可以在3D球体上描绘四元数,而自旋可以看作是该矢量的标量旋转运动(猜测这与某些数学家称为转子-> 几何代数的东西相似)。 net / quaternions.html)。
teodron

7

我将四元数可视化为三维矢量(方向+长度),并向侧面一点点以能够显示沿矢量轴的旋转。

这是在物理学中可视化旋转矢量的一种常用方法,但是这个名称使我无所适从。


3
角轴旋转?
CiscoIPPhone

4

对于四元数和矩阵,您不一定需要另一种可视化技术。

当将旋转矩阵可视化为3轴Gizmo时,真正可视化的是方向。由于四元数也表示方向,因此请考虑继续使用3轴Gizmo作为您的眼睛可视化对象。

很少,对于四元数或矩阵,您都需要将实际的组件值关联到可视化中,所以仅因为四元数的组件值与您的3轴无关,所以Gizmo并不意味着它不能用于可视化目的。


2

您可以,但是变得困难。而不是三个单独的旋转轴,或者每个分别一次独立移动的三个万向架,您必须将四元数描述为完整三维旋转角度的描述,而幅值一次描述为整个平移的描述。

http://en.wikipedia.org/wiki/Quaternion_rotation

四元数绝对不是我坚不可摧的领域,但该Wiki页面上有一些不错的信息。维基百科虽然讨论了超球面上的旋转,但有点令人困惑。祝好运!


2

如您所知,四元数基于复数,表示4D球体在4D维度上的旋转。因此,您无法“按原样”可视化它。我知道您也知道。旋转结果的可视化将是唯一的选择。例如基础轮换的结果;或者,您可以渲染3D球体并通过每个轴的分层旋转“温度”对其进行绘制;祝好运!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.