作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如果我有一个中心为 (x,y,z) 且半径为 r 的球体,是否存在一种算法可以将 X 个点 (x,y,z) 放置在球体内,例如到彼此点最大化?
例如一个点将简单地放置在中间,两个点将放置在相对的边界上,三个点将在边界上以“三角形”形式放置等等。
正如已经指出的那样,无法为每个点找到彼此相等的距离。因此,要求是最大化点之间的最小距离。
更新:
以下代码在半径为 1.0 的球体内生成点,但不会最大化距离。
function getPoint() {
var d, x, y, z;
do {
x = Math.random() * 2.0 - 1.0;
y = Math.random() * 2.0 - 1.0;
z = Math.random() * 2.0 - 1.0;
d = x*x + y*y + z*z;
} while(d > 1.0);
return {x: x, y: y, z: z};
}
我想之后我需要某种迭代。我尝试以 n 体问题为灵感来应用力模型,虽然看起来很有趣,但效果并不理想。
最佳答案
对于随机但均匀的放置,在球体的边界立方体中绘制均匀的随机点并接受球体内部的点。当你有足够的分数时停止。
如果要有规律的排列,这道题就难多了。
关于将点均匀放置在球体内的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57360792/
因此,我的flutter应用程序运行正常,但是我想对其进行一些更改。 我要执行的第一个更改是创建一个水平滚动窗口小部件,该窗口小部件的图像可以单击以更改工作站。 但是要做到这一点,我首先需要将两个小部
如何在 Bootstrap 模态的主体内设置 div 样式?这是我的模型: text ') .okBtn('ok') .open();">Open Model 我的CSS: @M
我有一个简单的触发器,它在 SQL Fiddle 上运行,但它不允许我将 INSERT STATEMENT 移动到触发器的主体内。 my code on sqlFiddle我只是想移动这条线 INSE
我是一名优秀的程序员,十分优秀!