我有 100 个点代表半径为 0.1 和中心 (.5,.5,.5) 的球体的边界。我想用 3-D 网格上的点数组来表示这个球体。数组的值将是二进制的。1 表示球内,0 表示球外。表示将在单位立方体上。
我预见到数组看起来像这样。对于 100 x 100 x 100 的数组。 (1,1,1) 值为 0。 (50,50,50) 值为 1,因为此网格点位于球体内。
这是创建和绘制 100 个(或更多)点的代码。这些点都位于球体的边界上。
library(scatterplot3d)
n <- 100
r <- rep(.1,n)
theta <- runif(n,0,pi)
phi <- runif(n,0,2*pi)
x <- r*sin(theta)*cos(phi)+.5
y <- r*sin(theta)*sin(phi)+.5
z <- r*cos(theta)+.5
graphic <- scatterplot3d(x,y,z,xlim=c(0,1),ylim=c(0,1),zlim=c(0,1))