我如何知道哪些点在圆锥体内部,例如下面的兔子数据?
library("onion")
library("rgl")
#bunny data
data(bunny)
#cone
pts <- cbind(c(0, 0), c(0, 0.23), c(0, 0))# the centers
radii <- c(0.0, 0.15)
cone <- cylinder3d(pts, radii, sides = 20)
#visualize
points3d(bunny, col="pink", alpha = 0.3)
shade3d(cone, col = "lightblue", alpha = 0.9)
字符串
1条答案
按热度按时间b5lpy0ml1#
这更像是一个几何问题,而不是一个编程问题。对于x,y,z空间中的任何给定点,
x^2 + z^2 < (0.15/0.23 * y)^2
将位于您定义的圆锥内的点,所以您可以这样做:字符串
x1c 0d1x的数据
我不确定你是否在寻找一个更通用的3D形状相交的解决方案-这要困难得多,但许多简单的几何相交可以从简单的代数计算。
增编
在评论中指出,你可能不想要一个实际的圆锥体,而是一个20边的金字塔,如你的例子所示。这也可以通过数学解决方案来解决:
型
的