原理如下:
R=(R00R01R02R10R11R12R20R21R22)R = \left(\begin{matrix} R00 & R01 & R02\\ R10 & R11 & R12\\ R20 & R21 & R22\\ \end{matrix}\right)R= R00R10R20R01R11R21R02R12R22
DiagonalR=R00+R11+R22DiagonalR00=R00−R11−R22DiagonalR11=R11−R00−R22DiagonalR22=R22−R00−R11DiagonalR = R00 + R11 +R22\\ DiagonalR00 = R00 - R11 - R22\\ DiagonalR11 = R11-R00-R22\\ DiagonalR22 = R22 - R00 - R11DiagonalR=R00+R11+R22DiagonalR00=R00−R11−R22DiagonalR11=R11−R00−R22DiagonalR22=R22−R00−R11
分情况如下:
情况一
if(DiagonalR00>=DiagonalR11&&DiagonalR00>=DiagonalR22&&DiagonalR00>=DiagonalR)quart.x=DiagonalR00+12quart.y=R10+R014.0∗quart.xquart.z=R20+R014.0∗quart.xquart.w=R21−R124.0∗quart.xif(DiagonalR00 >= DiagonalR11 \quad\&\& \quad DiagonalR00 >= DiagonalR22 \quad\&\& \quad DiagonalR00 >=DiagonalR)\\\\ \begin{aligned} &quart.x = \frac{\sqrt{DiagonalR00 + 1}}{2}\\ &quart.y = \frac{R10 + R01}{4.0*quart.x}\\ &quart.z = \frac{R20 + R01}{4.0*quart.x}\\ &quart.w = \frac{R21 - R12}{4.0*quart.x}\\ \end{aligned}if(DiagonalR00>=DiagonalR11&&DiagonalR00>=DiagonalR22&&DiagonalR00>=DiagonalR)quart.x=2DiagonalR00+1quart.y=4.0∗quart.xR10