2014-12-05 13 views
11

grid3D, ve 2) x için grid3d çağrıları tarafından inşa şebekelerinin üstünü örtmek üzere yatay kılavuz çizgilerini çizip y? Ben grid3d içinde pretty çağrıları çeşitli yararları ile oynadım ve bu bir rgl tuhaflık veya benim bölüm üzerinde bir yanlışlık olup olmadığını merak ediyorum. Ek olarak, dikey eksen numaralandırmayı, kapalı ızgaraların olduğu yere kadar genişletmek istiyorum.komple eksik çizgiler kullanılarak rgl herkes <code>y</code> için <code>grid3d</code> çağrısında eksik kılavuz çizgilerini tamamlamak) 1 için bir yol biliyor mu

library(rgl) 
cpts <- seq(0, 2, length = 40) 
spts <- seq(0, 1, length = 20) 
grid <- expand.grid(s=spts, c=cpts) 
UFn <- function(s,c){c^(0.5) - exp(s) + 1} 
U <- UFn(grid$s, grid$c) 
open3d() 
rgl.surface(x = spts, y = matrix(U,nrow = 40, ncol = 20), z = cpts, 
      coords = c(1,3,2), specular = "black") 
axes3d("x", at = pretty(spts, n = 2), color = "black") 
axes3d("y", at = pretty(cpts, n = 5), color = "black") 
axes3d("z--", color = "black") 
grid3d("x") 
grid3d("y", at = pretty(spts, n = 2)) 
title3d(xlab ='s', ylab = 'c', zlab = 'U', color = "black") 
rgl.snapshot("3d.png") 

enter image description here

cevap

3

Ben bir hata olduğunu söyleyebilirim. Aynı olmasına rağmen grid3d("y",n=2) kullanırken hiçbir z-satırı almazsınız. Listenin x öğesini ayarlayarak, adres belirtimini kullanarak çalışabilirsiniz, örneğin:

grid3d("y", at = list(x=pretty(spts, n = 2))) 
İlgili konular