POV-Ray : Newsgroups : povray.newusers : Nonuniform data to povray mesh-type object : Re: Nonuniform data to povray mesh-type object Server Time
29 Jul 2024 14:21:49 EDT (-0400)
  Re: Nonuniform data to povray mesh-type object  
From: TJ Giese
Date: 19 Oct 2005 21:41:43
Message: <4356f5d7$1@news.povray.org>
Alain wrote:
> TJ Giese nous apporta ses lumieres en ce 2005-10-19 14:04:
>> I have a bunch of data living on a nonuniform mesh.
>> Meaning, more specifically, I have an electron density that lives on a 
>> Gauss-Laguerre radial and Lebdeev angular quadrature grid points.
>> I would like to choose some isodensity surface and render an image of 
>> it in povray.

> A mesh don't need to corespond to a gird of any sort. If your data are 
> already organised as a mesh, it should be relatively easy to import them 
> into a POV Ray scene.

Thank you for your reply.  I appreciate it.
I thought it might be useful for me to clarify my terminology, because I
might have incorrectly used the word "mesh" in my first sentence.

My data is in the format
X1, Y1, Z1, Density1
X2, Y2, Z2, Density2
...
Xn, Yn, Zn, Densityn

where the cartesian coordinates Xi, Yi, Zi, do NOT represent verticies
of a triangle and are not equally spaced.
This format is significantly different than how I understand the mesh
object format to be, i.e.,
triangle { <X1a,Y1a,Z1a> <X1b,Y1b,Z1b> <X1c,Y1c,Z1c> }
triangle { <X2a,Y2a,Z2a> <X2b,Y2b,Z2b> <X2c,Y2c,Z2c> }
...
triangle { <Xna,Yna,Zna> <Xnb,Ynb,Znb> <Xnc,Ync,Znc> }

where <Xnm,Ynm,Znm> are the cartesian coordinates of the m'th vertex of
the n'th triangle defining a surface.

In other words, my data is a continuous function of space with varying
values of the density, whereas (from my understanding of the docs) a
mesh is an isosurface of the continuous function with the same value
of the density.

Suppose my list of data could be filtered such that I now had
Nf data points instead of n data points, where Nf<n.  The Nf data
points correspond to values to those values of the density where
|Density - isoval| < tol
where isoval is the particular isovalue defining the contour surface
and tol is some tolerance (because the densities are floating point
numbers).

To me, it seems, there now needs to be a mechanism which can form
triangles from 3 of these filtered data points at a time and yield
closed surfaces.  I think an even larger constraint is avoiding
and Nf*Nf operation, because Nf can be a very large number (it would
be nice to do this in ~10 seconds as opposed to ~10 hours).
I'll have to think about it a bit, but I'm getting the impression
that a recursive bisection routine would be needed.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.