3-D geometric transformation of a matrix of 3-D points
조회 수: 2 (최근 30일)
이전 댓글 표시
I have a set of nine 3-D points, with the following form:
e = 0.2;
points3d = [-e -e 0
-e 0 0
-e e 0
0 -e 0
0 0 0
0 e 0
e -e 0
e 0 0
e e 0]';
I would like to apply a 3-D geometric transformation to this set of nine 3d points, so that they are rotated and translated to a random position. What is the easiest way to do this?
Thanks.
댓글 수: 0
채택된 답변
Mike Garrity
2015년 10월 5일
Probably the simplest is something like this:
mat = makehgtform('axisrotate',[1 1 1],pi/5, 'translate',[1 2 3]);
newpts = mat * [points3d; ones(1,9)];
See this blog post for background. The examples in that post are mostly 2D to keep things compact, but the theory is the same in 3D.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Object Containers에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!