分页: 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里导出的。
我也没有想清楚。我想大致的过程是这样:
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。
由三维空间生成的Clifford algebra,它的由二维矢量构成的子空间,对三维空间本身,有一个旋转的作用。也就是如果q=e1e2,v=e3,那么qvq-1是v在三维空间的一个旋转。这里的乘法是Clifford algebra的乘法。这个是怎么来的呢?是因为一个二维Clifford algebra矢量等于两个一维矢量的乘法,而每一个作用在v上等于一个反射,两个反射合在一起等于一个旋转。比如 u=e1, v=e3,那么-uvu-1是v关于u的反射。
三维空间本身可以嵌入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里导出的。
我也没有想清楚。我想大致的过程是这样:
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。
由三维空间生成的Clifford algebra,它的由二维矢量构成的子空间,对三维空间本身,有一个旋转的作用。也就是如果q=e1e2,v=e3,那么qvq-1是v在三维空间的一个旋转。这里的乘法是Clifford algebra的乘法。这个是怎么来的呢?是因为一个二维Clifford algebra矢量等于两个一维矢量的乘法,而每一个作用在v上等于一个反射,两个反射合在一起等于一个旋转。比如 u=e1, v=e3,那么-uvu-1是v关于u的反射。
三维空间本身可以嵌入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里导出的。
我也没有想清楚。我想大致的过程是这样:
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。
由三维空间生成的Clifford algebra,它的由二维矢量构成的子空间,对三维空间本身,有一个旋转的作用。也就是如果q=e1e2,v=e3,那么qvq-1是v在三维空间的一个旋转。这里的乘法是Clifford algebra的乘法。这个是怎么来的呢?是因为一个二维Clifford algebra矢量等于两个一维矢量的乘法,而每一个作用在v上等于一个反射,两个反射合在一起等于一个旋转。比如 u=e1, v=e3,那么-uvu-1是v关于u的反射。
三维空间本身可以嵌入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维的,效率低。
您给降维算算。。人民群众好奇了。。

#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里导出的。
我也没有想清楚。我想大致的过程是这样:
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。
由三维空间生成的Clifford algebra,它的由二维矢量构成的子空间,对三维空间本身,有一个旋转的作用。也就是如果q=e1e2,v=e3,那么qvq-1是v在三维空间的一个旋转。这里的乘法是Clifford algebra的乘法。这个是怎么来的呢?是因为一个二维Clifford algebra矢量等于两个一维矢量的乘法,而每一个作用在v上等于一个反射,两个反射合在一起等于一个旋转。比如 u=e1, v=e3,那么-uvu-1是v关于u的反射。
三维空间本身可以嵌入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
由 苍井吱
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,什么也没干
