gpt4 book ai didi

r - R中曲线函数的3D等价物?

转载 作者:行者123 更新时间:2023-12-04 06:22:52 24 4
gpt4 key购买 nike

curve R 中的函数提供了一种绘制函数的简单方法。例如,这将绘制一条直线

f1 <- function(x) x
curve(f1, from=-1, to=1)

R 中是否有一个等效函数,它采用一个带有两个参数(例如, xy )和两个变量的范围并生成 3D 图的函数?

例如,假设我有以下功能
f2 <- function(x, y) x + y

有没有类似下面的命令?
curve_3d(f2, x_range=c(-1, 1), y_range=c(-1, 1))

最佳答案

surface3d package:rgl 中的函数看起来很匹配。创建一个包装器来获取您的函数将非常简单,使用 seq() 创建一组 x-y 向量。然后将这些向量传递给 outer使用 f2 作为 FUN 参数,然后调用 surface3d .

还有一个persp3d作者(Duncan Murdoch 和其他人)说这是“更高级别”,并且它似乎默认添加了轴,而 Surface3d 没有。

curve_3d <- function(f2, x_range=c(-1, 1), y_range=c(-1, 1), col=1:6 ){ 
if (!require(rgl) ) {stop("load rgl")}
xvec <- seq(x_range[1], x_range[2], len=15)
yvec <- seq(y_range[1], y_range[2], len=15)
fz <- outer(xvec, yvec, FUN=f2)
open3d()
persp3d( xvec, yvec, fz, col=col) }
curve_3d(f2)
snapshot3d("out3dplane.png")

Rotatable pseudo3d plot of plane

现在我进一步考虑,你可以用 persp() 做类似的事情。或 wireframe() . “技巧”是使用外部(...,FUN=fun)。当我进一步考虑它时......能够与 outer 一起使用它取决于它由所有矢量化操作组成。如果它们没有被矢量化,我们将需要用 Vectorize 重写或 mapply .

关于r - R中曲线函数的3D等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11875941/

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