分页: 4 / 5

#61 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 09:37
TheMatrix
TheMatrix 写了: 昨天 09:09

哦对,你还有另一方面的困惑,就是为什么二维的旋转是rv - 两个复数的乘法,而三维的旋转是qvq-1 - 三个数的乘法。

这个我觉得是数域的特殊性。二维数域(复数)和四维数域(quaternion)的特殊性。再往上就没有了,8维数域(应该)就没有这个性质了。再往上连数域都没有了。

所以你的困惑还是在于不知道它是怎么来的。你知道它怎么来的,就不会认为它们应该具有统一性了。我觉得。

那么quaternion可以用于三维旋转的计算的方法是怎么来的呢?我觉得是从Clifford algebra里来的。本版以前讨论过Clifford algebra,但是并没有讨论到quaternion用于计算三维旋转的方法是怎么从Clifford algebra里导出的。

我也没有想清楚。我想大致的过程是这样:

  1. quaternion H 同构于 Cl(3,0),三维空间生成的Clifford algebra,的偶数subalgebra。三维空间的基矢为 {e1,e2,e3},那么Cl(3,0)有下面的基矢:
    {
    1,
    e1,e2,e3,
    e1e2,e2e3,e3e1,
    e1e2e3,
    }
    共8维,而偶subalgebra是
    {
    1,
    e1e2,e2e3,e3e1,
    }
    共4维,这就是quaternion。

  2. 由三维空间生成的Clifford algebra,它的由二维矢量构成的子空间,对三维空间本身,有一个旋转的作用。也就是如果q=e1e2,v=e3,那么qvq-1是v在三维空间的一个旋转。这里的乘法是Clifford algebra的乘法。这个是怎么来的呢?是因为一个二维Clifford algebra矢量等于两个一维矢量的乘法,而每一个作用在v上等于一个反射,两个反射合在一起等于一个旋转。比如 u=e1, v=e3,那么-uvu-1是v关于u的反射。

  3. 三维空间本身可以嵌入Clifford algebra Cl(3,0),也就是{e1,e2,e3,}这个由一维矢量构成的子空间。但是这个并不是quaternion的{i,j,k}子空间。从quaternion用于旋转的方法看,v可以嵌入quaternion,应该是嵌入{1,e1e2,e2e3,e3e1,}。所以这是两个不同的嵌入。这两个怎么统一我也没想清楚。


#62 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 09:55
zeami
TheMatrix 写了: 昨天 09:37

那么quaternion可以用于三维旋转的计算的方法是怎么来的呢?我觉得是从Clifford algebra里来的。本版以前讨论过Clifford algebra,但是并没有讨论到quaternion用于计算三维旋转的方法是怎么从Clifford algebra里导出的。

我也没有想清楚。我想大致的过程是这样:

  1. quaternion H 同构于 Cl(3,0),三维空间生成的Clifford algebra,的偶数subalgebra。三维空间的基矢为 {e1,e2,e3},那么Cl(3,0)有下面的基矢:
    {
    1,
    e1,e2,e3,
    e1e2,e2e3,e3e1,
    e1e2e3,
    }
    共8维,而偶subalgebra是
    {
    1,
    e1e2,e2e3,e3e1,
    }
    共4维,这就是quaternion。

  2. 由三维空间生成的Clifford algebra,它的由二维矢量构成的子空间,对三维空间本身,有一个旋转的作用。也就是如果q=e1e2,v=e3,那么qvq-1是v在三维空间的一个旋转。这里的乘法是Clifford algebra的乘法。这个是怎么来的呢?是因为一个二维Clifford algebra矢量等于两个一维矢量的乘法,而每一个作用在v上等于一个反射,两个反射合在一起等于一个旋转。比如 u=e1, v=e3,那么-uvu-1是v关于u的反射。

  3. 三维空间本身可以嵌入Clifford algebra Cl(3,0),也就是{e1,e2,e3,}这个由一维矢量构成的子空间。但是这个并不是quaternion的{i,j,k}子空间。从quaternion用于旋转的方法看,v可以嵌入quaternion,应该是嵌入{1,e1e2,e2e3,e3e1,}。所以这是两个不同的嵌入。这两个怎么统一我也没想清楚。

苍井吱 写了: 2025年 10月 22日 18:58

完美错过了clifford algebra的讨论,最近在研究图形学才开始看quaternion

v = ai + bj + ck,表示3维空间的点/向量(a, b, c)

矩阵表示也可以,

1 = I_{2x2}
i =
j = [0 1
-1 0]
k = [0 i
i 0]



@苍井吱


#63 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 10:19
FoxMe

我也没想清楚。本来是Cl(3,0)作用在实3维空间上,可以做旋转。但是Cl(3,0)是8维的,效率低。

想起来了,能做实3维空间旋转的,只能是even subalgebra,即quaternion.

但是这个embedding,还是没想明白。

TheMatrix 写了: 昨天 09:37

那么quaternion可以用于三维旋转的计算的方法是怎么来的呢?我觉得是从Clifford algebra里来的。本版以前讨论过Clifford algebra,但是并没有讨论到quaternion用于计算三维旋转的方法是怎么从Clifford algebra里导出的。

我也没有想清楚。我想大致的过程是这样:

  1. quaternion H 同构于 Cl(3,0),三维空间生成的Clifford algebra,的偶数subalgebra。三维空间的基矢为 {e1,e2,e3},那么Cl(3,0)有下面的基矢:
    {
    1,
    e1,e2,e3,
    e1e2,e2e3,e3e1,
    e1e2e3,
    }
    共8维,而偶subalgebra是
    {
    1,
    e1e2,e2e3,e3e1,
    }
    共4维,这就是quaternion。

  2. 由三维空间生成的Clifford algebra,它的由二维矢量构成的子空间,对三维空间本身,有一个旋转的作用。也就是如果q=e1e2,v=e3,那么qvq-1是v在三维空间的一个旋转。这里的乘法是Clifford algebra的乘法。这个是怎么来的呢?是因为一个二维Clifford algebra矢量等于两个一维矢量的乘法,而每一个作用在v上等于一个反射,两个反射合在一起等于一个旋转。比如 u=e1, v=e3,那么-uvu-1是v关于u的反射。

  3. 三维空间本身可以嵌入Clifford algebra Cl(3,0),也就是{e1,e2,e3,}这个由一维矢量构成的子空间。但是这个并不是quaternion的{i,j,k}子空间。从quaternion用于旋转的方法看,v可以嵌入quaternion,应该是嵌入{1,e1e2,e2e3,e3e1,}。所以这是两个不同的嵌入。这两个怎么统一我也没想清楚。


#64 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 10:24
zeami
FoxMe 写了: 昨天 10:19

我也没想清楚。本来是Cl(3,0)作用在实3维空间上,可以做旋转。但是Cl(3,0)是8维的,效率低。

您给降维算算。。人民群众好奇了。。 :roll: :roll:


#65 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 10:31
mifepristone

物理里面都是这么用的,3x3是旋转,最后一个对角线元素叫做booster,代表平移
楼主的问题现在只是旋转,所以看上去很怪

所以cl(3,1)表示3维空间的物体旋转加平移

TheMatrix 写了: 昨天 09:37

那么quaternion可以用于三维旋转的计算的方法是怎么来的呢?我觉得是从Clifford algebra里来的。本版以前讨论过Clifford algebra,但是并没有讨论到quaternion用于计算三维旋转的方法是怎么从Clifford algebra里导出的。

我也没有想清楚。我想大致的过程是这样:

  1. quaternion H 同构于 Cl(3,0),三维空间生成的Clifford algebra,的偶数subalgebra。三维空间的基矢为 {e1,e2,e3},那么Cl(3,0)有下面的基矢:
    {
    1,
    e1,e2,e3,
    e1e2,e2e3,e3e1,
    e1e2e3,
    }
    共8维,而偶subalgebra是
    {
    1,
    e1e2,e2e3,e3e1,
    }
    共4维,这就是quaternion。

  2. 由三维空间生成的Clifford algebra,它的由二维矢量构成的子空间,对三维空间本身,有一个旋转的作用。也就是如果q=e1e2,v=e3,那么qvq-1是v在三维空间的一个旋转。这里的乘法是Clifford algebra的乘法。这个是怎么来的呢?是因为一个二维Clifford algebra矢量等于两个一维矢量的乘法,而每一个作用在v上等于一个反射,两个反射合在一起等于一个旋转。比如 u=e1, v=e3,那么-uvu-1是v关于u的反射。

  3. 三维空间本身可以嵌入Clifford algebra Cl(3,0),也就是{e1,e2,e3,}这个由一维矢量构成的子空间。但是这个并不是quaternion的{i,j,k}子空间。从quaternion用于旋转的方法看,v可以嵌入quaternion,应该是嵌入{1,e1e2,e2e3,e3e1,}。所以这是两个不同的嵌入。这两个怎么统一我也没想清楚。


#66 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 10:34
zeami
mifepristone 写了: 昨天 10:31

物理里面都是这么用的,3x3是旋转,最后一个对角线元素叫做booster,代表平移
楼主的问题现在只是旋转,所以看上去很怪

所以cl(3,1)表示3维空间的物体旋转加平移

平移自动给脑补上,不需要额外描述。。


#67 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 10:48
rgg

统一描述是旋转是二次反射。反射是更基本的操作。
所以都可以用两侧共轭相乘表示。


#68 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 12:32
苍井吱

我上面讲了个q = i的例子能很好的表现怎么旋转的

v被分成了两个分量, v1 = a + bi 和v2 = cj + dk

i跟v1是可以交换的,所以i * v1 * -i = v1,对这个分量没有作用

iv2把v2沿着i轴转了90度,v2(-i)再同样旋转了90度

我的想法是把2D的r和3D4D的q看做旋转算子, applied on v

一般方向上的旋转可以把旋转轴先Tq = i,转到i轴上,在这个新坐标下转完再做坐标变换转回去,道理一样


#69 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 12:35
苍井吱
rgg 写了: 昨天 10:48

统一描述是旋转是二次反射。反射是更基本的操作。
所以都可以用两侧共轭相乘表示。

前面一个网友说4D空间里面的旋转qvp,8个自由度,在3D空间里面qvq^{-1}或者qvq^* (要求q = 1),4个自由度


#70 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 17:13
Caravel
rgg 写了: 昨天 10:48

统一描述是旋转是二次反射。反射是更基本的操作。
所以都可以用两侧共轭相乘表示。

是啊,上次讨论的重点就是反射和旋转,看来大家都忘记了


#71 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 17:17
FoxMe

就是说:{e1,e2,e3}怎么变成{e1e2,e2e3,e3e1}(也就是{i,j,k})了?

FoxMe 写了: 昨天 10:19

我也没想清楚。本来是Cl(3,0)作用在实3维空间上,可以做旋转。但是Cl(3,0)是8维的,效率低。

想起来了,能做实3维空间旋转的,只能是even subalgebra,即quaternion.

但是这个embedding,还是没想明白。


#72 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 17:19
Caravel
苍井吱 写了: 昨天 12:32

我上面讲了个q = i的例子能很好的表现怎么旋转的

v被分成了两个分量, v1 = a + bi 和v2 = cj + dk

i跟v1是可以交换的,所以i * v1 * -i = v1,对这个分量没有作用

iv2把v2沿着i轴转了90度,v2(-i)再同样旋转了90度

我的想法是把2D的r和3D4D的q看做旋转算子, applied on v

一般方向上的旋转可以把旋转轴先Tq = i,转到i轴上,在这个新坐标下转完再做坐标变换转回去,道理一样

二维的通用形式也是qvq-1, 但是可以简化成Rv, 值得注意得是q旋转的是theta / 2。具体推导你可以问问AI


#73 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 17:31
sneezesnake

二维平面的这个操作不也是矩阵乘以向量吗? RV。 R 是 2×3 矩阵 ,v 是 2×1 vector 不是吗?


#74 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 17:39
Caravel
FoxMe 写了: 昨天 17:17

就是说:{e1,e2,e3}怎么变成{e1e2,e2e3,e3e1}(也就是{i,j,k})了?

geometry product啊

Clifford algebra里面

反射是 xvx-1

两次反射就是

yx v x-1y-1

yx几何积,就得到even algebra,就是quaternion q


#75 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 18:58
苍井吱
Caravel 写了: 昨天 17:19

二维的通用形式也是qvq-1, 但是可以简化成Rv, 值得注意得是q旋转的是theta / 2。具体推导你可以问问AI

不会是q = a + bi + 0j + 0k, v = mj + nk吧,如果这样就没意思了


#76 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 19:02
TheMatrix
Caravel 写了: 昨天 17:39

geometry product啊

Clifford algebra里面

反射是 xvx-1

两次反射就是

yx v x-1y-1

yx几何积,就得到even algebra,就是quaternion q

但是v应该对应的是{e1,e2,e3}构成的subspace,而这并不是quaternion。现在这个gap就在这。


#77 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 19:56
Caravel
TheMatrix 写了: 昨天 19:02

但是v应该对应的是{e1,e2,e3}构成的subspace,而这并不是quaternion。现在这个gap就在这。

用原始的{e1,e2,e3} vector和几何积规则,完全可以实现旋转

问了一下Gemini说

纯四元数,同构于这种普通三维vector,所以v也可以用四元数表示


#78 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 19:58
Caravel
苍井吱 写了: 昨天 18:58

不会是q = a + bi + 0j + 0k, v = mj + nk吧,如果这样就没意思了

二维q只有两项


#79 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 20:10
苍井吱
Caravel 写了: 昨天 19:58

二维q只有两项

Gemini:

"To represent a 2D rotation using the \(qvq^{-1}\) form, you must embed the 2D plane into 3D space. The rotation is then treated as a 3D rotation about an axis perpendicular to the 2D plane."

不会是这个意思吧

如果在复数域,交换律qvq^{-1} = v,什么也没干


#81 Re: 为什么三维空间的旋转是qvq^{-1}, 二维平面只需要rv?

发表于 : 2025年 10月 25日 20:29
Caravel
苍井吱 写了: 昨天 20:10

Gemini:

"To represent a 2D rotation using the \(qvq^{-1}\) form, you must embed the 2D plane into 3D space. The rotation is then treated as a 3D rotation about an axis perpendicular to the 2D plane."

不会是这个意思吧

如果在复数域,交换律qvq^{-1} = v,什么也没干

图片