Generate Non-Parallel Axes

Generate n 'well-spaced' axes -- uniform sampling of 3D rotation axes
451.0 次下载
更新时间 2013/12/10

查看许可证

Generates n axes-of-rotation that are 'well-spaced', that is all axes are as far from being parallel as possible. The resulting axes minimize clustering. This is one way to generate a uniform sampling of 3D rotation axes.

INPUTS:
n, the number of axis to uniformly sample.

BACKGROUND:
This is a generalization of the Thomson problem (J.J. Thomson 1904). The Thomson problem determines the minimum energy configuration for n electrons confined to the surface of a sphere: http://en.wikipedia.org/wiki/Thomson_problem

To generate well-spaced axes, additional constraints are imposed by "coupling" each electron with an additional electron at its antipodal point, i.e. x and -x in 3-space.
The solution generates "maximally" separated directions in 3-space, where maximally means that the directions are as far from being parallel as possible.

CREDITS:
Based on code from Hao Peng and Yongyang Yu and their unpublished “Optimization on the surface of a hyper sphere”, https://www.cs.purdue.edu/homes/pengh/reports/590OP.pdf

引用格式

Aaron T. Becker's Robot Swarm Lab (2024). Generate Non-Parallel Axes (https://www.mathworks.com/matlabcentral/fileexchange/44515-generate-non-parallel-axes), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2013a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Scalar Volume Data 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0.0

On advice from Anton Semechko, vectorized the code for a 10x speedup and explained the difference between uniform_axes and points_on_a_sphere sampling.

1.0.0.0