gpt4 book ai didi

r - 如何从R中的方程绘制平面

转载 作者:行者123 更新时间:2023-12-04 09:39:42 24 4
gpt4 key购买 nike

我一直在修改 RGL 包以弄清楚如何从 R 中的方程绘制平面,但无济于事。

例如,我想形象化以下平面:

1x + 0y + 0z = 2
0x + 1y + 0z = 3
0x + 0y + 1z = 4

似乎 rgl 的 planes3d 函数只向现有的 3D 绘图添加了一个平面。

最佳答案

这是一个简单的例子:

library(rgl)
# Create some dummy data
dat <- replicate(2, 1:3)

# Initialize the scene, no data plotted
plot3d(dat, type = 'n', xlim = c(-1, 1), ylim = c(-1, 1), zlim = c(-3, 3), xlab = '', ylab = '', zlab = '')

# Add planes
planes3d(1, 1, 1, 0, col = 'red', alpha = 0.6)
planes3d(1, -1, 1, 0, col = 'orange', alpha = 0.6)
planes3d(1, -1, -1, -0.8, col = 'blue', alpha = 0.6)

这给出了以下结果。

如您所见,从这样的情节中很难理解空间结构,但交互性当然有帮助。或者,您可以将平面绘制为线框,这有时有助于理解空间结构:
# Evaluate planes
n <- 20
x <- y <- seq(-1, 1, length = n)
region <- expand.grid(x = x, y = y)

z1 <- matrix(-(region$x + region$y), n, n)
z2 <- matrix(-region$x + region$y, n, n)
z3 <- matrix(region$x - region$y - 0.8, n, n)

surface3d(x, y, z1, back = 'line', front = 'line', col = 'red', lwd = 1.5, alpha = 0.4)
surface3d(x, y, z2, back = 'line', front = 'line', col = 'orange', lwd = 1.5, alpha = 0.4)
surface3d(x, y, z3, back = 'line', front = 'line', col = 'blue', lwd = 1.5, alpha = 0.4)
axes3d()

关于r - 如何从R中的方程绘制平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30960620/

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