gpt4 book ai didi

r - 椭圆体 R 函数 - 查找点是否适合 - R 脚本

转载 作者:行者123 更新时间:2023-12-04 12:10:18 25 4
gpt4 key购买 nike

我有一个 3D 椭球函数:

ellipsoid <- function(center=c(0, 0, 0), radius=1, shape=diag(3),
segments=51) {
angles <- (0:segments)*2*pi/segments
ecoord2 <- function(p) {
c(cos(p[1])*sin(p[2]), sin(p[1])*sin(p[2]), cos(p[2])) }
unit.sphere <- t(apply(expand.grid(angles, angles), 1, ecoord2))
t(center + radius * t(unit.sphere %*% chol(shape)))
}

这使得具有给定中心和半径的椭圆体。然后我可以使用:

q <- quads3d(ellips[,1], ellips[,2], ellips[,3], front="lines",
back="lines", alpha=.5,
lit=FALSE, col=surface.col[1])

但是,我怎样才能确定点 (x,y,z) 是否落在这个椭圆体内?具体来说,如何计算出椭圆体的半轴?

例如,

fitsInEllipsoid <- function(ellipsoid, x, y, z) {
#returns true if (x,y,z) fits inside the ellipsoid
}

最佳答案

一个点 (x,y,z) 在里面如果

(x-x0)^2/a^2+ (y-y0)^2/b^2 + (z-z0)^2/c^2 < 1,

其中 ab 是赤道半径(沿 x 和 y 轴),c 是极半径(沿 z -轴),即 shape 参数对角线的平方根。椭圆体的中心由 (x0, y0, z0) 表示(函数中的变量 center)。

关于r - 椭圆体 R 函数 - 查找点是否适合 - R 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8224280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com