生成 3D 旋转轴的均匀方向挺有讲究的,尤其当你想让这些轴彼此“隔得远点”,别老扎堆平行。Generate Non-Parallel Axes 就是干这事儿的利器。

灵感来自物理里的Thomson 问题,意思是把一堆电子扔球面上,看它们怎么“躲得最远”。这里的“电子”就是你想生成的旋转轴,而且每个轴还被要求跟它的镜像轴对称,所以间距上更紧凑,分布也更均匀。

你只要输入想要的轴数量,代码就能返回一组最不容易平行的 3D 单位向量。适合做3D 旋转采样、姿态估计那类活儿。原理挺硬核,但实现其实不复杂,思路也清晰。

作者用的是未发表的“超球面优化”思路,核心代码参考了 Purdue 的 Hao Peng 和 Yongyang Yu,如果你感兴趣可以继续深挖他们的研究:https://www.cs.purdue.edu/homes/pengh/reports/590

哦对了,如果你平时用Matlab图像、仿真、机器人路径啥的,这类均匀轴分布挺常用的,强烈建议收藏一下。

如果你也有“怎么在球面上分布点分得平均”这种需求,那不妨试试这套逻辑,挺顺手。