Re: 2D/3D interpolation algorithm
From: Arthur J. O'Dwyer (ajo_at_nospam.andrew.cmu.edu)
Date: 11/04/03
- Next message: Thad Smith: "Re: logf problem"
- Previous message: Brandon J. Van Every: "SimBomb (was Re: Is open sourcing a good idea?)"
- In reply to:(deleted message) Christopher Intemann: "Re: 2D/3D interpolation algorithm"
- Next in thread: Gernot Hoffmann: "Re: 2D/3D interpolation algorithm"
- Reply: Gernot Hoffmann: "Re: 2D/3D interpolation algorithm"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 4 Nov 2003 16:26:35 -0500 (EST)
On Tue, 4 Nov 2003, Christopher Intemann wrote:
>
[The OP is reading from comp.graphics.algorithms; I'm
reading from comp.programming.]
>
> Arthur J. O'Dwyer <ajo@nospam.andrew.cmu.edu> wrote:
> > On Mon, 3 Nov 2003, Christopher Intemann wrote:
> >>
> >> I'm looking for a 2D or 3D interpolation algorithm.
> >> I have a set of points (x,y,z) with a grey value[0-255] assigned to
> >> each point. Now I want to construct a number of parallel slices based
> >> on these values.
>
> > As in, you want an algorithm that takes a value Z0 and returns a list of
> > (X,Y) pairs describing a closed curve through the plane Z=Z0 to which the
> > original points are fairly close, right?
> I want a functions like query_gv(x,y,z) which returns the approptiate
> (interpolated) greyvalue.
Oh. That's not 3D surface reconstruction at all. I misunderstood
your problem.
What you're wanting now sounds basically like an algorithm that
takes some points
G(x0,y0,z0) = g0
G(x1,y1,z1) = g1
and you want it to find a "good" function G so that you can plug
in arbitrary (x,y,z) and get back a "reasonable" value G(x,y,z)=g.
> I can't imaging nobody ever has made up his mind about this issue:-(
As Hans-Bernhard says, many, many people have come up with
ways to do this. Which one(s) you want to try is up to you.
If you have only a few points, you can probably find and
implement an algorithm that will fit a polynomial in (x,y,z)
to your list of points, and then use that polynomial for G.
For a larger point cloud, you could find the N nearest neighbors
of the input (x,y,z), and return a weighted average of those
gray values -- weighted by distance, or by the square of the
distance, or whatever.
Hans-Bernhard gives a method involving a "tetrahedronalization"
of 3-space, which sounds pretty good but will be hard in practice
unless you know something I don't. (comp.graphics.algorithms
sounds like a good place to find out more about that, though.)
HTH,
-Arthur
- Next message: Thad Smith: "Re: logf problem"
- Previous message: Brandon J. Van Every: "SimBomb (was Re: Is open sourcing a good idea?)"
- In reply to:(deleted message) Christopher Intemann: "Re: 2D/3D interpolation algorithm"
- Next in thread: Gernot Hoffmann: "Re: 2D/3D interpolation algorithm"
- Reply: Gernot Hoffmann: "Re: 2D/3D interpolation algorithm"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|