quantFromAxis method
Implementation
List<double> quantFromAxis(QuaternionOrientation orientation, [List<double>? multiply]){
multiply ??= [1,1,1,1];
switch (orientation) {
case QuaternionOrientation.xyzw:
return [x*multiply[0],y*multiply[1],z*multiply[2],w*multiply[3]];
case QuaternionOrientation.wxyz:
return [w*multiply[3],x*multiply[0],y*multiply[1],z*multiply[2]];
case QuaternionOrientation.yzwx:
return [y*multiply[1],z*multiply[2],w*multiply[3],x*multiply[0]];
case QuaternionOrientation.zwxy:
return [z*multiply[2],w*multiply[3],x*multiply[0],y*multiply[1]];
case QuaternionOrientation.wzyx:
return [w*multiply[3],z*multiply[2],y*multiply[1],x*multiply[0]];
case QuaternionOrientation.yxzw:
return [y*multiply[1],x*multiply[0],z*multiply[2],w*multiply[3]];
case QuaternionOrientation.zxyw:
return [z*multiply[2],x*multiply[0],y*multiply[1],w*multiply[3]];
case QuaternionOrientation.xwyz:
return [x*multiply[0],w*multiply[3],y*multiply[1],z*multiply[2]];
case QuaternionOrientation.wyzx:
return [w*multiply[3],y*multiply[1],z*multiply[2],x*multiply[0]];
case QuaternionOrientation.zxwy:
return [z*multiply[2],x*multiply[0],w*multiply[3],y*multiply[1]];
}
}