1

So I have some 3d points generator that gives points like

{1,1,1}
{1,2,3}
{1,3,3}
{2,4,5}
{2,5,6}
{4,4,4}

I need to generate a smooth surface that would go thrue given points. How to do such thing?

BTW I know we can use a way shown in here to generate some surface that would be inside selected controll array of points but I need to generate a surface that passes thrue my controll array.

Rella
  • 65,003
  • 109
  • 363
  • 636
  • Funny, I think I'm looking for something similar. Do you need to convert a point cloud to a mesh ? – George Profenza Dec 14 '10 at 11:50
  • @George Profenza Yes I do!) And I need to do it with Away3d and generally I want to feed engene with an array of points that are inside bezier surface not just controll points of surface... – Rella Dec 14 '10 at 11:57
  • I don't know how to this yet, but I'm looking into it. I need to do this too. Googling I found out that what we need might be "delaunay tetrahedralization" the 3d version of triangulation bascially. Found some really good papers here: http://www.cs.cmu.edu/~jrs/jrspapers.html Also found this opensource project: http://tetgen.berlios.de/features.html , had a quick look at the source and it's massive. If I'm not being too intrusive, are you trying to display point clouds from Kinect with Away3D ? – George Profenza Dec 14 '10 at 12:22
  • I see 2 ways - first someone would answer on generall math question for me here http://mathoverflow.net/questions/49379/finding-3-dimentional-b-spline-controll-points-from-given-array-of-points-from-sp or here http://stackoverflow.com/questions/4439189/finding-3-dimentional-b-spline-controll-points-from-given-array-of-points-from-sp or here http://math.stackexchange.com/questions/14284/how-to-get-nurbs-control-points-from-an-array-of-points-that-should-be-part-of-it or I will look into TweenMax BezierThroughPlugin and somehow insert it into Away3d current NURBS implementation.=) – Rella Dec 14 '10 at 12:38
  • @George Profenza Kinect yep - grete Idea=) But no - I am doing 3d rendering of incoming data from collider tube.. so it is going to be a big routd like donat=) And ofcourse it will be wary approximate model - just for presentation purpeses. – Rella Dec 14 '10 at 12:43

1 Answers1

1

I think the best is to create a Mesh object then create a loop to go through your triangles to create FaceObjects and then user Mesh.addFace() A face will contain a single triangle from three points and a UV map coordinate if desired.

Consider though - your list of points must not be enirely arbitrary. Each face must use three points that are the closest points to each other, and do not overlap the area of the other points triangles. (Otherwise it will look "weird"/"bad")

I am not certain how to smooth your mesh, but it is probably done with a material.

You can also post this question to the google group for away3d. http://groups.google.com/group/away3d-dev?pli=1 The project leads are active on the list and post frequently. They love a good challenge.

Plastic Sturgeon
  • 12,527
  • 4
  • 33
  • 47