我能在Numpy或Scipy中找到特定的函数来生成一个随机的N维旋转矩阵(或正交矩阵)吗?我需要将一个向量从ND球体上的一个点移动到此球体上的另一个随机点。
https://math.stackexchange.com/questions/442418/random-generation-of-rotation-matrices
这可能会解答您的问题,至少在策略方面是如此。据我所知,numpy没有标准或库函数可以精确地实现您需要的功能。那里提供了无数的计算策略,但我更喜欢四元数方法的扩展,因为它可以保持均匀分布,我假设这就是您想要的。scipy.stats.special_ortho_group.rvs(NDIMS)
(https://dev59.com/vloT5IYBdhLWcg3wkAI9#55289807)。为了保持 stack overflow 的当前和有用的知识库,我们可能需要更新这个答案(并重新打开这个问题,因为它很清晰,不应该被关闭)。 - MRule
scipy.stats.special_ortho_group
。我没有权限重新打开问题来回答,所以我在这里滥用评论功能。这不是一个及时的答案,你可能已经通过艰难的方式找到了它。希望未来的人们不需要再受苦了。 - user10892982scipy.stats.special_ortho_group
;它已经内置在scipy中,可以在任意维度下采样随机旋转矩阵。这不是 https://dev59.com/vloT5IYBdhLWcg3wkAI9 的重复,因为它要求旋转而不是正交,尽管这个答案 https://dev59.com/vloT5IYBdhLWcg3wkAI9#55289807 是正确的。 - MRule