Matlab 任何人都可以帮我找到平坦球体上的点

Matlab 任何人都可以帮我找到平坦球体上的点,matlab,math,Matlab,Math,我有一个扁平的球体x^2+(0.01)y^2+z^2=1。我想在Matlab中找到这个球体上的点。请帮助我,我是新来的。这个物体叫做椭球体。基本上,可以使用与球体采样相同的方式对其曲面进行采样。如果要保持一定的密度分布,可能会变得有点困难。但是,如果您只想进行一些分发,以下是您的方法: phi := random number in [-pi, pi] theta := random number in [-pi/2, pi/2] x = sin phi cos theta y = cos ph

我有一个扁平的球体x^2+(0.01)y^2+z^2=1。我想在Matlab中找到这个球体上的点。请帮助我,我是新来的。

这个物体叫做椭球体。基本上,可以使用与球体采样相同的方式对其曲面进行采样。如果要保持一定的密度分布,可能会变得有点困难。但是,如果您只想进行一些分发,以下是您的方法:

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)

那么x=0,y=0,z=1怎么样?或者
x=0,y=-10,z=0
?通常情况下,方法是在x,y,z的上下边界之间生成随机坐标,然后查看哪一个满足方程。不幸的是,浮点和相等性测试不能很好地结合。但我想生成数百个点,这将是一个棘手的问题,因为浮点没有无限精度,所以隐式舍入错误将破坏你的一天/检查等式。如果您想要球体内部的点,那么使用
实际上我想要看到x^2+.01y^2+z^2=1和圆柱体x^2+z^2=1.4的绘图。如果您有任何想法,请帮助我如何分配圆柱体x^2+z^2=1.4