Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 定义n个球体,这样就不会有2个球体相互重叠_Matlab_Math_Geometry_Geometry Surface - Fatal编程技术网

Matlab 定义n个球体,这样就不会有2个球体相互重叠

Matlab 定义n个球体,这样就不会有2个球体相互重叠,matlab,math,geometry,geometry-surface,Matlab,Math,Geometry,Geometry Surface,我有一个matlab/数学问题 我想定义n个球体(每个球体应该由一个3D点和一个半径定义),这样就不会有两个球体相互重叠。 球体应该是完全随机的(只要它们彼此不重叠) 有没有一种有效的方法 我知道每次定义一个比当前最远的球体更远的球体时,都有一个选项(可以通过范数(中心)+半径定义球体的距离)。但这样一来,我们就错过了许多可能的选择(比如定义两个球体,它们与原点的距离相同,但仍然彼此不重叠) 有人有更聪明的方法吗 多亏了不可能生成“完全随机”的数据,某些限制总是存在的 您可以生成随机点,然后为该

我有一个matlab/数学问题

我想定义n个球体(每个球体应该由一个3D点和一个半径定义),这样就不会有两个球体相互重叠。 球体应该是完全随机的(只要它们彼此不重叠)

有没有一种有效的方法

我知道每次定义一个比当前最远的球体更远的球体时,都有一个选项(可以通过范数(中心)+半径定义球体的距离)。但这样一来,我们就错过了许多可能的选择(比如定义两个球体,它们与原点的距离相同,但仍然彼此不重叠)

有人有更聪明的方法吗


多亏了

不可能生成“完全随机”的数据,某些限制总是存在的


您可以生成随机点,然后为该点集构建Voronoi图,并使球体以这些点为中心,半径不大于到最近Voronoi单元面的距离。不可能生成“完全随机”数据,某些限制总是存在的


您可以生成随机点,然后为该点集构建Voronoi图,并使球体以这些点为中心,半径不大于到最近Voronoi单元面的距离

球体应如何分布?例如,在某个边界内均匀分布,通常还是其他?此外,只是位置随机还是每个球体的半径随机?每个球体的中心和半径都应该是随机的。它应该是均匀分布的,这意味着3D空间中的每个点都有相同的概率被选为球体的中心(除非该点当前位于另一个球体内)。但是,MBO评论贝娄,也许这是不可能的。“戴维考虑去解决你所有的问题,并接受帮助你。通常的做法是这样做,这样将来人们就会知道answe是正确的,不是所有的问题我最终都得到了我期望的答案。事实上,在这种情况下,我认为我接受了答案,但显然我没有接受。我现在接受了。谢谢。球体应该如何分配?例如,在某个边界内均匀分布,通常还是其他?此外,只是位置随机还是每个球体的半径随机?每个球体的中心和半径都应该是随机的。它应该是均匀分布的,这意味着3D空间中的每个点都有相同的概率被选为球体的中心(除非该点当前位于另一个球体内)。但是,MBO评论贝娄,也许这是不可能的。“戴维考虑去解决你所有的问题,并接受帮助你。通常的做法是这样做,这样将来人们就会知道answe是正确的,不是所有的问题我最终都得到了我期望的答案。事实上,在这种情况下,我认为我接受了答案,但显然我没有接受。我现在接受了。谢谢,很有趣。我不知道这是不可能的。我会读关于沃罗诺图的,谢谢。你的意思是,首先我选择n个随机的3D点(n个中心),没有任何限制。然后我使用Voronoi图来计算n个半径?任何随机生成方法都有一些参数,因此很难说“没有任何限制”。假设matlab的rand()函数是完美的均匀随机生成。那么你的意思是我应该首先随机计算n个中心(比如说中心=rand(n,3)),然后用voronoi计算半径吗?是的,我的意思是这样的方法。很有趣。我不知道这是不可能的。我会读关于沃罗诺图的,谢谢。你的意思是,首先我选择n个随机的3D点(n个中心),没有任何限制。然后我使用Voronoi图来计算n个半径?任何随机生成方法都有一些参数,因此很难说“没有任何限制”。假设matlab的rand()函数是完美的均匀随机生成。那么你的意思是我应该首先随机计算n个中心(比如说中心=rand(n,3)),然后用voronoi计算半径吗?是的,我的意思是这样的方法。