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일

0 개 추천

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개)

카테고리

태그

질문:

2015년 2월 14일

댓글:

2015년 2월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by