Shifting vertices along normal

1 view (last 30 days)
Patrick
Patrick on 14 Feb 2015
Commented: Patrick on 14 Feb 2015
I have 3D data with a triangular meshed surface. I've found the normal of each face. How can I shift the 3 vertices of one face along the direction of the normal by certain units? Thanks!

Accepted Answer

John D'Errico
John D'Errico on 14 Feb 2015
Compute the normal to each facet plane.
help cross
That will give you the normal vector. Add a multiple of the normal vector to the coordinates of each vertex.
Note that each vertex is shared by several facets. So you will need to compute the TOTAL, cumulative offset for each vertex, and only then move those vertices.
Oh, by the way, be careful. Depending on the shape, if your meshed surface is not a well-behaved convex surface, moving things around willy nilly can cause the surface to cross through itself.
  1 Comment
Patrick
Patrick on 14 Feb 2015
Really thanks for your help, John! Could you further explain a bit for "compute the TOTAL, cumulative offset for each vertex". I don't quite understand... I've got stuck with this problem for a long time.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!