Постройте поверхность и добавьте на нее точки с помощью R: Проблема с plot3D

Я пытаюсь построить поверхность в 3D на R и добавить точки на этой поверхности. Я использую пакет plot3D, который создает красивые трехмерные графики, и я определяю и строю свою поверхность с помощью этого кода:

      M <- mesh(seq(-3, 3, length.out = 50),seq(-3, 3, length.out = 50))
u <- M$x ; v <- M$y
x <- u
y <- v
z <- u^2-v^2
surf3D(x, y, z, colvar = z, colkey = TRUE, box = FALSE, bty = "b", phi = 30, theta = 140)

Я получаю такую ​​картину: Хорошая прорисованная поверхность .

Затем я хочу добавить точки, которые генерирую случайным образом:

      xx=rnorm(10,1,1)
yy=rnorm(10,0,1)
zz=xx^2-yy^2

points3D(xx,yy,zz,colvar=zz,add=TRUE,pch=20,cex=0.5,col="black")

И перед добавлением точек это сначала странным образом ухудшает мою первоначальную картинку, как на следующем рисунке (где это заняло очень много времени, поэтому я не стал ждать, пока появятся 10 точек):Поверхность изношена .

Кто-нибудь понимает, почему точки просто добавляются к исходному изображению (и почему на обновление графика в любом случае уходит больше 5 минут)?

0 ответов

Другие вопросы по тегам