Shifting vertices along normal

1 次查看(过去 30 天)
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!

采纳的回答

John D'Errico
John D'Errico 2015-2-14
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 个评论
Patrick
Patrick 2015-2-14
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 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by