2024-09-21 14:11:13 发布
网友
我试着从一个3-D椭球体上均匀地取样大约1000个点。有没有什么方法可以对它进行编码,这样我们就可以从椭球体的方程中得到点?在
我想要椭球面上的点。在
考虑使用蒙特卡罗模拟:生成一个随机的三维点;检查该点是否在椭球体内;如果在,则保留它。重复,直到你得到1000分。在
p.S.由于OP改变了他们的问题,这个答案不再有效。
J.F.Williamson,“随机选择分布在曲面上的点”,医学和生物学物理32(10),1987,描述了在参数曲面上选择均匀随机点的一般方法。这是一种接受/拒绝方法,根据每个候选点的拉伸因子(梯度范数)来接受或拒绝每个候选点。要将此方法用于参数化曲面,必须了解曲面的一些事情,即-
两个{cd3>u和{}的范围,g(point),曲面上每个点的梯度的范数(“拉伸因子”),以及gmax,整个曲面的g的最大值。在
u和{}的范围,
u
g(point)
gmax
g
算法是:
xyz
g(xyz) >= RNDU01()*gmax
RNDU01()
Chen和Glotzer(2007)在“拉长病毒衣壳形成现象学模型的模拟研究”中将该方法应用于长椭球体(椭球体的一种形式)的表面,arXiv:cond mat/0701125[cond-软垫子]. 在
考虑使用蒙特卡罗模拟:生成一个随机的三维点;检查该点是否在椭球体内;如果在,则保留它。重复,直到你得到1000分。在
p.S.由于OP改变了他们的问题,这个答案不再有效。
J.F.Williamson,“随机选择分布在曲面上的点”,医学和生物学物理32(10),1987,描述了在参数曲面上选择均匀随机点的一般方法。这是一种接受/拒绝方法,根据每个候选点的拉伸因子(梯度范数)来接受或拒绝每个候选点。要将此方法用于参数化曲面,必须了解曲面的一些事情,即-
两个{cd3>}的范围,
u
和{g(point)
,曲面上每个点的梯度的范数(“拉伸因子”),以及gmax
,整个曲面的g
的最大值。在算法是:
xyz
。在g(xyz) >= RNDU01()*gmax
,其中RNDU01()
是[0,1]中的一个随机数,则接受该点。否则,重复此过程。在Chen和Glotzer(2007)在“拉长病毒衣壳形成现象学模型的模拟研究”中将该方法应用于长椭球体(椭球体的一种形式)的表面,arXiv:cond mat/0701125[cond-软垫子]. 在
相关问题 更多 >
编程相关推荐