R:将 2D 坐标与 3D 图中的线连接起来,并根据坐标添加正态分布 pdf
R: Connect 2D coordinates with lines in 3D plot and add a normal distribution pdf based on the coordinates
类似于,使用类似
的代码
library(rgl)
open3d()
x <- seq(0, 10, length=100)
y <- seq(0, 10, length=100)
z = outer(x,y, function(x,y) dnorm(x,2.5,1)*dnorm(y,2.5,1))
persp3d(x, y, z,col = rainbow(100))
我想在 (x,y) 图上绘制正态分布。然而,与第一个问题不同的是,我想沿着一些特定的坐标绘制这个正态分布(它们的所有 z=0 和 "lie on the ground" of (x,y))。它们模仿人的行走并且有坐标
g=matrix(c(0,0,3,1,4,2,5,3,6,4,5,5,4,6,6,6,8,5,9,6)
,nrow=10,ncol=2,byrow= TRUE)
所以我的问题是:
(1) 如何将此 2D 数据添加到 3D 图并通过一条线连接所有点以描绘步行?它应该躺在地上。
(2) 如何绘制围绕 "walk" 的正态分布?这应该是3D的。
非常感谢
更新:想法是将下一个练习中的概率也分配给第二个人的行走,然后计算他们在某处相遇的概率。
Update2:我可能不是很清楚我想要什么,所以我尽力更准确。如 g 中的坐标所示,步行只是一条粗略的线。它应该显示在地面上。我感兴趣的真实任务如下:有可能这个人并不完全走在这条线上。然而,任何一点的概率由其到直线的最短距离的法线函数 (PDF) 给出。所以我想围绕这条线绘制一个普通的 PDF 多次(可能是无限次)。最终的 3D 情节可能看起来像一些山脉。这与我之前的问题有关,我问过如何多次绘制普通 PDF,使其 3D 绘图看起来像火山。
Update3:下面的答案没有显示Update2的结果,但它清楚地为原问题的一部分提供了指导。因此,我将其标记为已解决。
这个怎么样。 (注意,我把彩虹表面弄成了透明的)。
library(rgl)
open3d()
x <- seq(0, 10, length=100)
y <- seq(0, 10, length=100)
z = outer(x,y, function(x,y) dnorm(x,2.5,1)*dnorm(y,2.5,1))
persp3d(x, y, z,col = rainbow(100),alpha=0.5)
# now draw the line
# note:
# - the "add=T" parameter that appends it to the previous 3d-plot
g=matrix(c(0,0,3,1,4,2,5,3,6,4,5,5,4,6,6,6,8,5,9,6)
,nrow=10,ncol=2,byrow= TRUE)
lines3d(g[,1],g[,2],0,color="purple",add=T)
产量:
类似于
library(rgl)
open3d()
x <- seq(0, 10, length=100)
y <- seq(0, 10, length=100)
z = outer(x,y, function(x,y) dnorm(x,2.5,1)*dnorm(y,2.5,1))
persp3d(x, y, z,col = rainbow(100))
我想在 (x,y) 图上绘制正态分布。然而,与第一个问题不同的是,我想沿着一些特定的坐标绘制这个正态分布(它们的所有 z=0 和 "lie on the ground" of (x,y))。它们模仿人的行走并且有坐标
g=matrix(c(0,0,3,1,4,2,5,3,6,4,5,5,4,6,6,6,8,5,9,6)
,nrow=10,ncol=2,byrow= TRUE)
所以我的问题是: (1) 如何将此 2D 数据添加到 3D 图并通过一条线连接所有点以描绘步行?它应该躺在地上。 (2) 如何绘制围绕 "walk" 的正态分布?这应该是3D的。
非常感谢
更新:想法是将下一个练习中的概率也分配给第二个人的行走,然后计算他们在某处相遇的概率。
Update2:我可能不是很清楚我想要什么,所以我尽力更准确。如 g 中的坐标所示,步行只是一条粗略的线。它应该显示在地面上。我感兴趣的真实任务如下:有可能这个人并不完全走在这条线上。然而,任何一点的概率由其到直线的最短距离的法线函数 (PDF) 给出。所以我想围绕这条线绘制一个普通的 PDF 多次(可能是无限次)。最终的 3D 情节可能看起来像一些山脉。这与我之前的问题有关,我问过如何多次绘制普通 PDF,使其 3D 绘图看起来像火山。
Update3:下面的答案没有显示Update2的结果,但它清楚地为原问题的一部分提供了指导。因此,我将其标记为已解决。
这个怎么样。 (注意,我把彩虹表面弄成了透明的)。
library(rgl)
open3d()
x <- seq(0, 10, length=100)
y <- seq(0, 10, length=100)
z = outer(x,y, function(x,y) dnorm(x,2.5,1)*dnorm(y,2.5,1))
persp3d(x, y, z,col = rainbow(100),alpha=0.5)
# now draw the line
# note:
# - the "add=T" parameter that appends it to the previous 3d-plot
g=matrix(c(0,0,3,1,4,2,5,3,6,4,5,5,4,6,6,6,8,5,9,6)
,nrow=10,ncol=2,byrow= TRUE)
lines3d(g[,1],g[,2],0,color="purple",add=T)
产量: