Laying image over 3-D surface
조회 수: 1 (최근 30일)
이전 댓글 표시
I have a 3-D on which surface I'd like to lay an image "on top." The specific surface I have is created from the variable new, which is a 960 x 1280 matrix:
ax = mesh(new); ax.XLim = [0 1280]; ax.YLim = [0 960]; box on view(-37.5,-30);

This plot is viewed from an elevation of -30 degrees. I want to overlay a 2-D image so that when the image is viewed in regular 2-D Cartesian space, its warp gives the effect that the image is "falling in" to the sharp minimum on the surface. What's the best way to do this? Thank you!
댓글 수: 0
답변 (1개)
Walter Roberson
2018년 3월 21일
댓글 수: 6
Walter Roberson
2018년 3월 22일
Could you post your complete code (in particular how you create new) so I can do some testing? I know what the basic problem is, but I need some test data to try out ideas.
The basic problem is that you are using rectangular pixels in a uniform rectangular grid, and the default lighting model is that the brightness and color of a pixel does not depend upon the depth from the viewer. You either need to move to using X Y that are not uniform rectangular, or else to make changes so that the brightness chances according to depth.
참고 항목
카테고리
Help Center 및 File Exchange에서 Read, Write, and Modify Image에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!