Построение поверхностей с контурной картой в 3D над треугольниками - PullRequest
0 голосов
/ 03 октября 2011

Пример кода здесь для rgl делает почти то, что я хочу.Однако my (x, y) находятся не в прямоугольнике, а в треугольнике, который составляет половину прямоугольника (x = 0..1, y = 0..1 и z отсутствует, если x + y> 1).

Мой входной набор данных имеет следующий формат:x1 x2 x3 x4 x5 x6 z

и я хотел бы визуализировать (x4, x5, z) и (x2, x3, x6) и т. д. Любая помощь приветствуется, как это сделать в Rновичок.

Можно ли экспортировать окончательный график в PDF, EPS или SVG?

ОБНОВЛЕНИЕ : ОК, я могу экспортировать в EPS.

ОБНОВЛЕНИЕ 2 : Благодаря Карлу я почти получил то, что хочу.3D surface over a triangle

Единственная проблема заключается в том, что один из краев поверхности имеет пилообразные зубья.Между зубьями, где x + y <= 4, поверхность должна быть сохранена так, чтобы пилообразный край стал как другие края.Как я могу это сделать? </p>

Код R ниже, входные данные здесь

library(rgl)
mat = matrix(scan("bpexamp.out"),ncol=9,byrow=T)
N <- 4
x <- c(0:N)
y <- c(0:N)
z <- mat[,9]
zlim <- range(y)
zlen <- zlim[2] - zlim[1] + 1
colorlut <- terrain.colors(zlen,alpha=0) # height color lookup table
col <- colorlut[ z-zlim[1]+1 ] # assign colors to heights for each point
open3d()
aspect3d(1,1,0.1)
surface3d(x, y, z, col)
axes3d()

1 Ответ

1 голос
/ 04 октября 2011

Это комментарий, но я не знаю, как вставить изображение в комментарий, отформатированный как ответ. Я запустил ваш материал и получил этот график: Я запустил ваш материал и получил этот график: enter image description here

Итак, что здесь отсутствует или неточно? Возможно, мы можем «починить» это для вас ...

...