Shifting vertices along normal

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!

 采纳的回答

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 个评论

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.

请先登录,再进行评论。

更多回答(0 个)

类别

标签

Community Treasure Hunt

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

Start Hunting!

Translated by