我有一个扁平的球体x ^ 2 +(0.01)y ^ 2 + z ^ 2 = 1。我想在Matlab中找到这个球体上的点。请帮助我是新人。
答案 0 :(得分:1)
此对象称为椭圆体。基本上,您可以采样与采样球体相同的方式对其表面进行采样。如果要保持一定的密度分布,可能会变得有点困难。但是,如果您只想进行一些分发,请按以下步骤操作:
phi := random number in [-pi, pi]
theta := random number in [-pi/2, pi/2]
x = sin phi cos theta
y = cos phi cos theta / sqrt(0.01)
z = sin theta
对于指定的气缸,您可以这样做:
phi := random number in [-pi, pi]
h := random number for the y-values
x = sin phi * sqrt(1.4)
y = h
z = cos phi * sqrt(1.4)