织构分析:取向代数深入
四元数为什么能求晶粒平均取向:乘法、均值、插值与随机取向
从半角参数和向量旋转推到四元数乘法,再解决符号双重性、晶体对称等价和不同均值定义,最后用两点例子完成平均与插值。
先记住这三点
- 四元数的四个分量受单位长度约束,仍只有三个自由度。
- 平均前必须处理 q 与 −q 以及晶体对称等价,不能逐项平均欧拉角。
- 取向插值描述两个姿态之间的几何路径,不能凭它证明实际变形历史。
先把轴角压进一个单位四维向量
令 q=(q₀,qᵥ)=(cos(θ/2),n sin(θ/2)),标量在前,向量在后;q₀²+qᵥ·qᵥ=1。角度为什么取一半,会在下一步的向量旋转中看到。这里采用 Hamilton 乘法和右手主动旋转,其他软件的标量位置或符号约定必须先转换。
将 q 全体变号不会改变旋转,因为两次出现的负号会相消。所以 q 与 −q 是同一姿态的两个表示。强制 q₀≥0 只是选一个代表,在 θ=180° 附近仍可能发生符号跳变,不能靠这条规则自动解决连续性。
从乘法规则推回三维旋转
两个四元数相乘定义为 (a,u)⊗(b,v)=(ab−u·v,av+bu+u×v)。纯向量写成 p=(0,x),单位四元数逆为 q⁻¹=(q₀,−qᵥ)。依次展开 q⊗p⊗q⁻¹,标量部分抵消,向量部分得到 (q₀²−|qᵥ|²)x+2qᵥ(qᵥ·x)+2q₀(qᵥ×x)。
代入 q₀=cos(θ/2)、qᵥ=n sin(θ/2),利用两倍角公式,恰好恢复 x cosθ+n(n·x)(1−cosθ)+(n×x)sinθ。这说明单位四元数能完整表达旋转,也说明半角从何而来。复合旋转先做 q₁ 再做 q₂,应写 q₂⊗q₁;交换顺序通常改变结果。
先做一个八十字就能验算的组合
绕 z 轴 90° 的四元数是 qz=(√2/2,0,0,√2/2)。将 x=(1,0,0) 代入上一式,第一项为零,第二项为零,第三项为 (0,1,0),得到正确的右手旋转。qz⊗qz=(0,0,0,1),对应绕 z 轴180°。
这类基向量检查尤其适合坐标转换:若程序把 e₁ 变为 −e₂,先查主动/被动、左右乘和四元数排列,而不是把实验图像随意翻转到看起来相像。验证对象是定义与几何,和拿用户实验数据做测试无关。
错取向为何只需一个四维点积
q₁⁻¹⊗q₂ 的标量部分为 q₁·q₂。考虑 q 与 −q 等价,将符号选成这个点积非负,于是未考虑晶体对称时的最小角 θ=2acos|q₁·q₂|。因此四维球面上的夹角只有实际旋转角的一半。
晶体具有对称性时,仍须把 q₂ 的晶体对称等价代表逐一与 q₁ 比较,再取最小旋转角。用于错取向轴或界面变体时,还要保留究竟选择了哪个对称操作;只留下最小角会丢掉后续分析需要的轴和对应关系。
为何两个几乎一样的取向会平均成错误结果
绕 z 轴分别转 +1° 和 −1°,对应 q₊=(cos0.5°,0,0,sin0.5°)、q₋=(cos0.5°,0,0,−sin0.5°)。它们的归一化和是单位取向,符合几何直觉。若第二个点恰好存成 −q₋,直接求和却会得到接近180°的结果。
欧拉角也有同类问题:359° 与1°的算术平均为180°,但最短圆弧的中点是0°。因此先选共同邻域的晶体对称代表,再令各 qᵢ 与参考 qref 点积≥0,最后进行平均,是小取向分散晶粒常用的计算顺序。
归一化加权和解决了什么优化问题
对已统一符号与对称分支的单位四元数 qᵢ,给权重 wᵢ≥0,令 W=Σwᵢ。寻找单位 q 使 Σwᵢ||q−qᵢ||² 最小。展开得 2W−2q·Σwᵢqᵢ;由柯西不等式,最大点积发生在 q 与加权和同向,因此 q̄=Σwᵢqᵢ/||Σwᵢqᵢ||。
这推导的是选定四元数分支后的弦长均值。它不是任何分布下都等同于最小旋转角平方的内禀均值。对一个分散不大的晶粒通常很方便;若出现多峰、孪晶混入或很大取向散布,应先分组并明确目标函数,而不是把一个平均值当作真实晶格姿态。
另一个符号不敏感的均值,为什么会用特征向量
若目标是最大化 Σwᵢ(q·qᵢ)²,定义 A=Σwᵢqᵢqᵢᵀ,就变成最大化 qᵀAq、约束qᵀq=1。拉格朗日乘子给 Aq=λq,所以取最大特征值的单位特征向量即可。由于 qᵢqᵢᵀ 不随 qᵢ→−qᵢ 改变,这个目标自动处理正负号。
但它仍没有自动处理不同晶体对称代表;要在候选均值附近反复选择最近的对称代表并更新均值。若目标改为 Σwᵢθ(q,qᵢ)²,则应使用旋转空间上的迭代求解。比较 GOS 前,要确认两套软件采用的均值定义、权重和对称设置是否一致。
SLERP:沿最短弧插值的推导
统一符号后令 a=acos(q₁·q₂)。在 q₁ 与 q₂ 张成的二维平面中,e=(q₂−q₁cos a)/sin a 与 q₁正交。沿单位圆走到比例t的位置:q(t)=q₁cos(ta)+e sin(ta)。整理得到 q(t)=[sin((1−t)a)q₁+sin(ta)q₂]/sin a。
若两个取向绕同一轴分别为0°与20°,a=10°,t=1/2 得到10°的姿态。a 很小时分母接近零,可改用归一化线性插值。晶体对称必须先选最短分支;这条路径是姿态空间的几何连接,不等于位错活动、邻晶约束下的真实演化轨迹。
随机取向也可以从这里生成
在四维单位球面均匀取点并识别 q 与 −q,可得到 SO(3) 的均匀旋转。取三个独立 U(0,1) 随机数u₁,u₂,u₃,设置 r₁=√(1−u₁)、r₂=√u₁、a=2πu₂、b=2πu₃,构造 q=(r₂cos b,r₁sin a,r₁cos a,r₂sin b)。它自动满足单位长度。
为什么平方根不可省:两个二维平面的半径平方分别为1−u₁和u₁,使四维球面面积分配正确。另一条途径是欧拉角 φ₁、φ₂均匀,而 cosΦ 均匀;将 Φ 本身均匀会错误加重极区。这是随机参考的数学定义,不需要任何实测数据参与。
书中案例怎样迁移到自己的分析
Engler 等图2.19用冷轧铝合金一个晶粒内的50个 EBSD 取向示意平均取向及其分散。读者应关注操作链:确认这些点属于同一晶粒,统一对称代表,求均值,计算各点相对均值的错取向,再决定用均值、最大值还是分布描述分散。
把相同流程用于再结晶判断时,面积权重与每粒等权会改变问题;剔除高梯度像素也会让均值和分散一起变小。因此报告“GOS下降”必须交代分割、清理和均值方法,不能从四元数计算正确直接跳到材料机制已经确定。
来源与延伸阅读
以下链接用于核对概念、标准状态或原始文献。本页为中文教学整理,不复制受版权保护的标准正文。