Surface construction from vertices and their respective normals

I'm importing a 3D set of triangle vertices and their associated normals to construct a surface in MATLAB and am having a bit of trouble in constructing this.
The vertices are in a x,y,z format and the normals are computed as one might expect and correspond to the same vertice at each instance.
Previously I've been able to bring in the points (vertices) and build a surface using the smooth function:
A=smooth3(A); %A is a set of points (x,y,z)
p2=patch(isosurface(A,lo));
isonormals(A,p2);
I am trying to get away from this process as the pre-processing of which points to include is much easier in another software (Imaris).
Any help is greatly appreciated

6 Comments

Get away from it and move toward what? What are you looking to do that is different from what you're doing?
Sorry for not being clear Matt, I want to get away from thresholding the data in MATLAB to create the surface. I wish to do this in Imaris instead. Imaris does a better job with image processing.
The reason for my wanting to bring the thresholded data into MATLAB from Imaris is do some analytical processing concerning the surfaces generated from Imaris. I can export vertices, normals, triangles, and edges to MATLAB, but am having some difficulty in reconstructing this in MATLAB. Thanks,
Adam
If I am understanding your question correctly, I can rebuild the Imaris in MATLAB by using the triangular mapping (the matrix provides a listing of which vertices compose a given triangle) with the vertice coordinate information (vertive #, x,y,z). I was looking for a direct way to do this rather than through coding, but this may have been a bit of a stretch in terms of specific functions.
I should be able to rebuild the surface from the information given by writing a simple script. I'll post the script up here once I finish it. Thanks for the comments
Adam, Was your script ever finished? I am trying to do the same thing and would appreciate the help if you were able to figure out the problem. Thanks, Michael
I have a script to get surface mesh data from imaris to matlab, and do a matrix transposition/rotation, then put it back to imaris to show the modified surface. Cool

Sign in to comment.

Answers (1)

Matt J
Matt J on 22 Mar 2013
Edited: Matt J on 22 Mar 2013
If you have the vertices, why not just use MESH, SURF, or similar to build the surface?

Asked:

on 19 Mar 2013

Edited:

on 3 Apr 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!