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

STEM版,合并数学,物理,化学,科学,工程,机械。不包括生物、医学相关,和计算机相关内容。

版主: verdeliteTheMatrix

头像
TheMatrix
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 283
帖子: 13772
注册时间: 2022年 7月 26日 00:35

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

帖子 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,}。所以这是两个不同的嵌入。这两个怎么统一我也没想清楚。

上次由 TheMatrix 在 2025年 10月 25日 09:41 修改。
原因: 未提供修改原因
头像
zeami(狼VP狈¿为奸)
论坛精英
论坛精英
2023年度十大优秀网友
帖子互动: 833
帖子: 7340
注册时间: 2022年 7月 25日 15:51

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

帖子 zeami(狼VP狈¿为奸) »

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]



@苍井吱

⚪︎ 辟邪剑法七折大酬宾~~
FoxMe(令狐)
论坛精英
论坛精英
帖子互动: 157
帖子: 5603
注册时间: 2022年 7月 26日 16:46

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

帖子 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,}。所以这是两个不同的嵌入。这两个怎么统一我也没想清楚。

上次由 FoxMe 在 2025年 10月 25日 10:26 修改。
头像
zeami(狼VP狈¿为奸)
论坛精英
论坛精英
2023年度十大优秀网友
帖子互动: 833
帖子: 7340
注册时间: 2022年 7月 25日 15:51

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

帖子 zeami(狼VP狈¿为奸) »

FoxMe 写了: 昨天 10:19

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

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

⚪︎ 辟邪剑法七折大酬宾~~
mifepristone(7ing)
正式写手
正式写手
帖子互动: 11
帖子: 132
注册时间: 2022年 7月 26日 03:20

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

帖子 mifepristone(7ing) »

物理里面都是这么用的,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,}。所以这是两个不同的嵌入。这两个怎么统一我也没想清楚。

7ing...
头像
zeami(狼VP狈¿为奸)
论坛精英
论坛精英
2023年度十大优秀网友
帖子互动: 833
帖子: 7340
注册时间: 2022年 7月 25日 15:51

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

帖子 zeami(狼VP狈¿为奸) »

mifepristone 写了: 昨天 10:31

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

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

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

⚪︎ 辟邪剑法七折大酬宾~~
rgg
知名作家
知名作家
帖子互动: 110
帖子: 1223
注册时间: 2022年 9月 12日 15:00

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

帖子 rgg »

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

苍井吱(苍井吱吱)楼主
论坛点评
论坛点评
帖子互动: 230
帖子: 2265
注册时间: 2024年 6月 17日 15:27

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

帖子 苍井吱(苍井吱吱)楼主 »

我上面讲了个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轴上,在这个新坐标下转完再做坐标变换转回去,道理一样

2021年度十大优秀网友
2028年度优秀版主
按摩店前股东
脑特残的荣誉爹地

苍井吱(苍井吱吱)楼主
论坛点评
论坛点评
帖子互动: 230
帖子: 2265
注册时间: 2024年 6月 17日 15:27

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

帖子 苍井吱(苍井吱吱)楼主 »

rgg 写了: 昨天 10:48

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

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

2021年度十大优秀网友
2028年度优秀版主
按摩店前股东
脑特残的荣誉爹地

Caravel
论坛元老
论坛元老
Caravel 的博客
帖子互动: 702
帖子: 27610
注册时间: 2022年 7月 24日 17:21

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

帖子 Caravel »

rgg 写了: 昨天 10:48

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

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

FoxMe(令狐)
论坛精英
论坛精英
帖子互动: 157
帖子: 5603
注册时间: 2022年 7月 26日 16:46

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

帖子 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,还是没想明白。

Caravel
论坛元老
论坛元老
Caravel 的博客
帖子互动: 702
帖子: 27610
注册时间: 2022年 7月 24日 17:21

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

帖子 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

sneezesnake(Flyhunter)
著名写手
著名写手
帖子互动: 16
帖子: 228
注册时间: 2022年 8月 6日 10:31

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

帖子 sneezesnake(Flyhunter) »

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

Caravel
论坛元老
论坛元老
Caravel 的博客
帖子互动: 702
帖子: 27610
注册时间: 2022年 7月 24日 17:21

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

帖子 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

苍井吱(苍井吱吱)楼主
论坛点评
论坛点评
帖子互动: 230
帖子: 2265
注册时间: 2024年 6月 17日 15:27

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

帖子 苍井吱(苍井吱吱)楼主 »

Caravel 写了: 昨天 17:19

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

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

2021年度十大优秀网友
2028年度优秀版主
按摩店前股东
脑特残的荣誉爹地

头像
TheMatrix
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 283
帖子: 13772
注册时间: 2022年 7月 26日 00:35

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

帖子 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就在这。

Caravel
论坛元老
论坛元老
Caravel 的博客
帖子互动: 702
帖子: 27610
注册时间: 2022年 7月 24日 17:21

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

帖子 Caravel »

TheMatrix 写了: 昨天 19:02

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

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

问了一下Gemini说

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

Caravel
论坛元老
论坛元老
Caravel 的博客
帖子互动: 702
帖子: 27610
注册时间: 2022年 7月 24日 17:21

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

帖子 Caravel »

苍井吱 写了: 昨天 18:58

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

二维q只有两项

苍井吱(苍井吱吱)楼主
论坛点评
论坛点评
帖子互动: 230
帖子: 2265
注册时间: 2024年 6月 17日 15:27

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

帖子 苍井吱(苍井吱吱)楼主 »

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,什么也没干

2021年度十大优秀网友
2028年度优秀版主
按摩店前股东
脑特残的荣誉爹地

Caravel
论坛元老
论坛元老
Caravel 的博客
帖子互动: 702
帖子: 27610
注册时间: 2022年 7月 24日 17:21

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

帖子 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,什么也没干

图片

x1 图片
回复

回到 “STEM”