On 09/03/2013 7:45 PM, John Muschelli wrote:
So I wanted to export a contour3d object into VTK and it worked well
enough, except the top of the ball (the contour) was missing.  Example
below, or gist here:
https://gist.github.com/muschellij2/5126544

I don't know VTK, but perhaps some other software could convert one of rgl's output formats into that format. rgl can output OBJ, PLY, and STL formats, and one of those might suit your needs. See ?rgl::writeOBJ, etc.

Duncan Murdoch


rm(list=ls())

require(misc3d)

f <- function(x, y, z) x^2+y^2+z^2

x <- seq(-2,2,len=20)

ball <- contour3d(f,4,x,x,x, draw=FALSE)

drawScene.rgl(ball)

### get the triangles

allids <- rgl.ids()

id <- allids$id[allids$type == "triangles"]


filename="test.vtk"


  f <- file(filename, open = "w")

   start <- c("# vtk DataFile Version 3.0", "3D Plot data", "ASCII")

   n3 <- rgl.attrib.count(id, "vertices")

   verts <- rgl.attrib(id, "vertices")

   norms <- rgl.attrib(id, "normals")

   cols <- rgl.attrib(id, "colors")

   if (n3 %% 3 != 0) stop("verts not divisible by 3")

   n <- n3/3

   start <- c(start, "DATASET POLYDATA", paste("POINTS ", n3, " float", sep=
""))

   cat(start, sep="\n", file=f)

   dat <- matrix(t(verts), ncol=9, byrow=TRUE)

## write the points

   cat(sprintf("%f %f %f %f %f %f %f %f %f\n", dat[,1], dat[,2], dat[,3],

               dat[,4], dat[,5], dat[,6],

               dat[,7], dat[,8], dat[,9]), file = f, sep="")

   mat <- matrix(0:(n3-1), ncol = 3, byrow=TRUE)

   print(n)

### connect the triangles

   cat(sprintf("\nPOLYGONS %d %d\n", n, n3), file = f, sep="")

   cat(sprintf("3 %d %d %d\n", mat[,1], mat[, 2], mat[, 3]), file = f, sep=""
)

close(f)


Any help would be appreciated (especially if someone has already done this).

I know I'm using some old legacy formats for vtk, but I wanted to export to
XTK since I have some sample JS to do some things in there.


Thanks

John

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to