[Numpy-discussion] OT: A Way to Approximate and Compress a 3D Surface
Bob Lewis
bobl at tricity.wsu.edu
Wed Nov 21 14:41:35 EST 2007
On 11/20/07, Anne Archibald posted:
> Subject:
> Re: [Numpy-discussion] OT: A Way to Approximate and Compress a 3D Surface
> From:
> "Anne Archibald" <peridot.faceted at gmail.com>
> Date:
> Tue, 20 Nov 2007 17:13:31 -0500
> To:
> "Discussion of Numerical Python" <numpy-discussion at scipy.org>
>
> To:
> "Discussion of Numerical Python" <numpy-discussion at scipy.org>
>
>
> On 20/11/2007, Geoffrey Zhu <zyzhu2000 at gmail.com> wrote:
>
>> I have N tabulated data points { (x_i, y_i, z_i) } that describes a 3D
>> surface. The surface is pretty "smooth." However, the number of data
>> points is too large to be stored and manipulated efficiently. To make
>> it easier to deal with, I am looking for an easy method to compress
>> and approximate the data. Maybe the approximation can be described by
>> far fewer number of coefficients.
>>
>> If you can give me some hints about possible numpy or non-numpy
>> solutions or let me know where is better to ask this kind of question,
>> I would really appreciate it.
>
> This is an important task in computer graphics, in particular, in the
> field of multiresolution modelling. If you look up "surface
> simplification" you'll find many references to articles. I don't know
> of a library offhand that does it, let alone one that is accessible
> from python, but you could try looking at a toolkit that does
> isosurface visualization - these are surfaces that can often be
> simplified enormously. In particular it looks like VTK might be able
> to do what you want.
Anne Archibald is correct that surface simplification may ultimately
be of great help. Other place to look besides VTK are GTS, the GNU
Triangulated Surface library, and CGAL, the Computational Geometry
Algorithms Library, which has a Python binding.
It occurs to me, though, that we should first verify that you do
indeed have a surface in the first place. All you tell us is that you
have a set of N points in 3-space. Are they connected? That is, does
each point have well-defined neighbors? If so, do these vertices and
connections form a mesh that defines a surface?
- Bob Lewis
More information about the NumPy-Discussion
mailing list