Re: Simple 3D Visualisation [message #36447] |
Wed, 17 September 2003 21:47  |
Rick Towler
Messages: 821 Registered: August 1998
|
Senior Member |
|
|
"Mark Hadfield" wrote...
> Adam Rees wrote:
>> David,
>> You're quite right. I think I've just got used to IDLE being able to
99%
>> of the things I ask of it. I have made some progress if anyone is
>> interested. Its not pretty though. I've produced a connectivity array
which
>> contains all the possible combinations of points to produce a myriad of
>> triangles (28000 ish polygons). Then searched through and removed all
the
>> duplicates taking the total down to 4000 ish. Using mesh_decimate and
>> mesh_validate (I'm 100% sure what these do) I've then decreased the
number
>> to 1000 odd. Obviously there are still many I don't need but nonetheless
>> this is low enough for my computer to handle the object easily and thus
for
>> me to do most things that I need.
>> My final problem is that some exterior triangles are facing the
wrong
>> way. I think it may have something to do with the directions of the
normals
>> at the vertices but that will have to wait until tomorrow. If anyone has
any
>> ideas please let me know. I'm spending FAR to much time on this.
Yes, your normals are pointing the wrong way because the windings of those
triangles is backwards. Reverse the order (e.g. original is {3,3,2,1} try
{3,3,1,2}). I am pretty sure they follow the right-hand rule in IDL but I
can't find anything in the docs right now.
> That's not surprising. You seem to be reinventing some very big (3D
> geometrical) wheels.
Very very big. It seems that you have found a solution that suits you and
since you don't want to spend a lot of time on this you probably don't want
to go too much further. But there are some really cool algorithms out there
that can do quite a good job with your data.
> You still haven't really explained on what basis you want to join these
> vertices. Do you have any information you're not telling us about which
> vertices should be connected?
Are there any assumptions that can be made?
> Anyway, I'm no expert on this stuff, but you might want to have a look
> at the QHULL procedure. And a Google search on terms like "convex hull"
> and "Delaunay triangulation" might give you some ideas.
You'll also want to google (both web and groups) for "surface
reconstruction", "marching cubes", "deformable models", "shape
reconstruction", "volume meshing"... There is a ton of literature on this.
You may be able to find code too, but most likely it will be in C/C++.
-Rick
|
|
|