我正在尝试量化四元数,比如24个箱子。
如果它是3D矢量,我可以在polyhenron曲面的矢量和法线之间计算点积,然后选择最接近的曲面。 或者执行Hammer-Aitoff投影,然后在UV空间中对其进行量化。
但我不确定如何正确量化四元数,因为它是4D向量。非常感谢任何帮助。
更新: 举一个例子,假设我们有100k个唯一的四元数,我想通过将它们中的一些近似为邻居来将它们的数量减少到100。问题是如何选择那些100,因此群集之间的距离最大,群集内的距离最小?
答案 0 :(得分:0)
如果你是dealing with 3D unit vectors,一种策略就是选择一个近似具有24个面的单位球体的多面体。使用向量重心,将每个输入向量分配给对应于面的bin,其从原点到重心的(标准化)向量具有最大点积。
除非有误,否则您可以对 unit *四元数采用类似的方法。
构建一个24-cell。这是4D中的3流形,其顶点位于单位四元数同构的单位3-sphere上。您可以找到code来生成24个单元格,或者根据维基百科通过采用向量的所有排列的凸包[±1,±1,0,0]来构造它。
再次,将每个输入四元数xi + yj + zk + w分配给对应于从原点到重心的(标准化)向量具有最大点积到4D向量[x,y,z,w]的单元格]
*我假设你实际上在处理单位四元数(a.k.a.,3D旋转),而不是任意范数四元数。对于那些,我猜它与量化任意4D向量相同。