gpt4 book ai didi

math - 如何使用 4d 转子

转载 作者:行者123 更新时间:2023-12-02 09:18:01 27 4
gpt4 key购买 nike

我正在尝试创建一个 4D 环境,类似于 Miegakure的。

我无法理解如何表示旋转。 Miegakure 的创建者写了这篇小文章,解释了他为 4d 转子制作的类(class)。
http://marctenbosch.com/news/2011/05/4d-rotations-and-the-4d-equivalent-of-quaternions/

我怎样才能实现这个类的功能?特别是旋转矢量和其他转子的功能,并得到逆?

我将不胜感激一些伪代码示例。
非常感谢任何麻烦回答的人。

最佳答案

在计算机中表示几何代数多向量(包括转子)的最常见方法是通过一组系数,一个用于每个规范形式代数基元素(规范基叶片),即。对于 4D 基础空间,您将拥有 2^4 维代数和 2^4 维系数数组。另一种但可能更快的表示它们的方法是使用动态调整大小的列表,其中每个元素都包含一个 Blade 的索引和相关 Blade 的系数。在这种情况下,两个多向量的乘法将仅使用非零基 Blade ,因此在算法上应该更便宜且内存使用量更轻。

在实际使用方面,我发现开始玩几何代数的最简单的地方可能是在 python 中使用 https://github.com/pygae/clifford .完全免责声明我每天都使用这个库,并为它做出了广泛的贡献。该库使用系数方法的平面阵列。使用这个 python 库,您可以通过三明治产品应用 4D 转子,并通过波浪号运算符进行反转(转子的反转):

# Create a 4D geometric algebra with euclidean metric
from clifford.g4 import *

# Create a rotor
R = layout.randomRotor()

# Create a vector to rotate
V = layout.randomV()

# Apply the rotor to the vector
V2 = R*V*~R

来自 N 维几何代数的多向量的几何积和逆的具体定义可以在 Chris Doran 和 Anthony Lasenby 的 Geometric algebra for Physicists 的第 4 章中找到。

在 Leo Dorst 的《Geometric Algebra for Physicists》一书中或在他的网站上,可以找到使用元素列表方法的 N 维 GA 的良好 C++ GA 引用实现:
http://www.geometricalgebra.net/code.html .一般来说,这是 GA 的重要资源,尤其是保形模型和数值实现和关注点。

关于math - 如何使用 4d 转子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45108306/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com