编码四元数:
//使用前先申请空间
private byte[] currentFrameLeft = new byte[4 * sizeof(double)];//里面放置4个double类型的数
//编码四元数,从0开始每次间隔一个double的长度存一个值
public byte[] EncodeLeftToByteArray()
{
int index = 0;
byte[] qua_x = BitConverter.GetBytes((double)Direction.x);
qua_x.CopyTo(currentFrameLeft, index);
index += sizeof(double);
byte[] qua_y = BitConverter.GetBytes((double)Direction.y);
qua_y.CopyTo(currentFrameLeft, index);
index += sizeof(double);
byte[] qua_z = BitConverter.GetBytes((double)Direction.z);
qua_z.CopyTo(currentFrameLeft, index);
index += sizeof(double);
byte[] qua_w = BitConverter.GetBytes((double)Direction.w);
qua_w.CopyTo(currentFrameLeft, index);
return currentFrameLeft;
}
//解码四元数,每次间隔一个double的长度取一个值,注意前后对应,前面放什么类型的数据后面需要对应解码什么数据
publ