Laying image over 3-D surface
    4 ビュー (過去 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!



