📄 decompose.h
字号:
/**** Decompose.h - Basic declarations ****/#ifndef _H_Decompose#define _H_Decomposetypedef struct {float x, y, z, w;} Quat; /* Quaternion */enum QuatPart {X, Y, Z, W};typedef Quat HVect; /* Homogeneous 3D vector */typedef float HMatrix[4][4]; /* Right-handed, for column vectors */typedef struct { HVect t; /* Translation components */ Quat q; /* Essential rotation */ Quat u; /* Stretch rotation */ HVect k; /* Stretch factors */ float f; /* Sign of determinant */} AffineParts;float polar_decomp(HMatrix M, HMatrix Q, HMatrix S);HVect spect_decomp(HMatrix S, HMatrix U);Quat snuggle(Quat q, HVect *k);void decomp_affine(HMatrix A, AffineParts *parts);void invert_affine(AffineParts *parts, AffineParts *inverse);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -