从R中的三元网格点获取三角形网格

从R中的三元网格点获取三角形网格,r,mesh,rgl,R,Mesh,Rgl,我越来越熟悉三维表示。我想检查一组三变量数据点是否落在特定区域内。对于高斯数据,可以使用以下方法轻松完成: data = cbind(rnorm(1000),rnorm(1000),rnorm(1000)) inside = data[,1]^2+data[,2]^2 + data[,3]^2 <= qchisq(0.95,3) which(inside==T) data=cbind(rnorm(1000)、rnorm(1000)、rnorm(1000)) inside=data[,1]

我越来越熟悉三维表示。我想检查一组三变量数据点是否落在特定区域内。对于高斯数据,可以使用以下方法轻松完成:

data = cbind(rnorm(1000),rnorm(1000),rnorm(1000))
inside = data[,1]^2+data[,2]^2 + data[,3]^2 <= qchisq(0.95,3)
which(inside==T)
data=cbind(rnorm(1000)、rnorm(1000)、rnorm(1000))

inside=data[,1]^2+数据[,2]^2+数据[,3]^2不清楚您想在这里做什么。你的区域总是一个球体吗?它总是凸的吗?点集合本身不足以指定区域;你需要知道他们是如何结合起来的。
b = 30
x = seq(0,1,length.out = b)
grid = expand.grid(x,x)
u = grid[,1]
v = grid[,2]
theta <- 2 * pi * u
phi   <- acos(2 * v - 1) 
  
tau = 0.95
polygon =(t(c(0,0,0) + sqrt(qchisq(tau,3))*t(chol(diag(1,3)))%*%
                rbind(sin(phi) * cos(theta) ,sin(theta) * sin(phi),cos(phi))))

require(rgl)
plot3d(polygon,col="grey")