有没有办法输入固定的颜色矢量到任何3D rgl
图?如果是这样,则可以基于相同区域的栅格将地图图块拉伸到3D表面。但我发现surface3d
函数的行为与raster::plot
相同,因为它坚持将输入颜色矢量映射到z变量。这目前是否超出了rgl的功能?
答案 0 :(得分:2)
我实际上并不知道你对所有rgl着色函数的着色是否正确,但对于rgl.surface()
它是不正确的。这是?rgl.surface
页面上示例的损坏。颜色矢量索引由x-y(实际上是x-z)坐标形成,并给出条纹效果,因为它们被模数化以从有限范围内拉出值。
library(rgl)
data(volcano)
y <- 2 * volcano
x <- 10 * (1:nrow(y))
z <- 10 * (1:ncol(y))
ylim <- range(y)
ylen <- ylim[2] - ylim[1] + 1
colorlut <- terrain.colors(ylen)
col <- colorlut[(x+length(x)*y +1)%%ylen ]
rgl.open()
rgl.surface(x, z, y, color=col, back="lines")
rgl.snapshot("striped_volcano.png")