要在单位球面上均匀分布点,answer使用维持恒定表面积的斐波那契螺旋。
现在是否可以使用类似的方法在单位半球上均匀分布点而不会拒绝点?取绝对值
cos_theta = abs(((i * offset) - 1) + (offset / 2))
不起作用,因为它似乎成对地聚集点。
答案 0 :(得分:2)
y
值通过-1+1/samples
循环从1-1/samples
循环到for
:
for i in range(samples):
y = ((i * offset) - 1) + (offset / 2)
您希望从0+1/samples
循环到1-1/samples
。只需跳过第一次sample/2
次迭代:
for i in range(samples / 2, samples):
y = ((i * offset) - 1) + (offset / 2)
当然现在更清楚地重写表达式,这样你就可以再次从0
循环到samples'
,但这应该是更多重构的一个很好的起点。