Surface Modelling

Associate
Joined
1 Aug 2003
Posts
1,053
I'm after a 2D surface in a 3D space where I can put the data values in fixed X,Y coordinates with the Z described by an equation.

I asked something similar in a different post but this is greatly scaled back... anyone got any ideas?
 
Nefarious said:
I'm after a 2D surface in a 3D space where I can put the data values in fixed X,Y coordinates with the Z described by an equation.

I asked something similar in a different post but this is greatly scaled back... anyone got any ideas?
The complexity of the solution depends greatly upon the regularity (or otherwise) of your data values and how you want it interpolated.

If you have data on a regular grid, anything that can render a height field should work - PovRay, for example.

If you have irregular data, things get harder. I think the simplest approach is to use a Delauney triangulation to create a 2D mesh with vertices at each point where you have data and fill in the Z values there to get a 3D mesh. I last looked at this about 10 years ago and there are free implementations that should be sufficient for this. This wil probably have a lot of "jaggies" though.

Smooth interpolation for irregular data gets even trickier, and is a bit beyond my knowledge - one relatively simple approach I've used is to simulate the 2D heat equation where your data points are boundary conditions for the temperature. But my naive grid solver took a very long time to even remotely converge.
 
if you're after rendering a 3d surface then you might want to look up the "marching cubes" algorithm, but from the OP i'm not sure if that's what you are trying to do or not.
 
having just noticed your other thread i'm guessing you want an application to do the grunt work. i was thinking you were going to code everything up yourself, maybe only using libraries to do the math and display the output.

if you're up for the later, you would be able to use (or at least coax to fit) the Tina Vision libraries, but it's not for the faint hearted, or anyone with an impending deadline :)
 
MrWhippy said:
if you're after rendering a 3d surface then you might want to look up the "marching cubes" algorithm, but from the OP i'm not sure if that's what you are trying to do or not.
Marching cubes is fine if your data is naturally "in cube form" - (i.e. you can evaluate it on a 3D lattice), but from the other thread I get the impression his data is actually a set of irregular data points (x,y,z).

I think the Tina libraries aren't going to be much help for the same reason.
 
I'd suggest a simple OpenSG application. They have a simple set of tutorials about how to build a simple application, put a scenegraph into it (a scenegraph is a basic object oriented structure to let you put things like a model/mesh, a light, a camera into a scene) and set up everything for the application automatically - in fact it sounds as though what you want to do is one of the demo applications.

It is based on OpenGL and is Open Source, and adding a 2D grid mesh into a scene is as simple as creating a Geometry core with the data in it, and adding it to the scene, using the SimpleSceneManager to manage everything else.

Tell me how you get on.
 
To clarify;

I am after a 2D surface (mesh would be okay but I would like to be able to texturise it or at the very least colour it) but having a variable X positio (like a crumpled tissue).

Effectively a terrain map BUT of a non-quadrilateral design. I have been trying to get a piece of software called Surfer to do my bidding but it's not been very successful and will not give me the 4th dimensional aspect (time). Surfer may, with a bit of pushing, give me what I want as I can apparently blank out certain areas so visually represent the shape that I want while being mathermatically based on a standard geometric shape.

The only piece of software that I've found to get anywhere close is something called Artemis but it was developed for modal analysis and is a bit beyond my ken but I'm studying as I go...
 
I have a series of fixed loci whose heights are determinable (by an equation) at any given time. I would like to be able to have an off the shelf solution where I could put in the formula for each locus (the formula is different for each locus) and for it to produce a video for me but we can't always get what we want.

Failing the above dream solution I was hoping to use some existing software to perform a similar function. I have created a spreadsheet that will create the values for any time that I would care to input which can then be fed into a suitable piece of mapping software. I have been trying to get a program called 'Surfer' to do this but it is not proving brilliantly succesful. The problem I am running into seems to be that it tries to smooth out the edges a little too much when it expands the data set so that it can create a simple quadrilateral rather than the bespoke shape that I was after.

My idea was to use image morphing software to blend the various images together to create the effect of a video. An easy solution would be to create many many steps and have an animated .gif but this may turn out a little crude...
 
Ok, well I have a clear understanding of what you want to do software wise, though I am still a little sketchy concerning the algorithm that generates the final mesh.

Any chance you could pop me a simple illustration?
 
Back
Top Bottom