我正在尝试使用以下代码绘制带有纹理的3D冲浪以及相应的2D高度图:
close all
clear all
heightData = 'Test_RefData2';
% Import data
fid = fopen([heightData '.dat']);
Coords = textscan(fid,'%f\t%f\t%f'); % [nm]
x = Coords{1}/1000; % [µm]
y = Coords{2}/1000;
y = y + max(y*(-1));% [µm]
z = Coords{3}/1000; % [µm]
% Perform interpolation on 3D data
F = scatteredInterpolant(x,y,z);
xv = linspace(min(x), max(x), 1024);
yv = linspace(min(y), max(y), 768);
[X,Y] = meshgrid(xv, yv);
Z = F(X,Y);
figure()
s = surf(X, Y, Z, 'edgecolor', 'none');
hold on
h = pcolor(X,Y,Z); shading interp;
set(h,'ZData',-5 + 0*Z);
colormap('gray');
从上图中可以看出,一切都很好,直到我使用
添加纹理为止texture = imread(['R:\Test.tif']);
textureInv = flip(texture,1);
set(s,'CData',textureInv,'FaceColor','texturemap');
有人可以帮我解释一下为什么添加纹理将高度图的颜色更改为黑色吗? 我进行搜索,发现一些威胁正在讨论类似的问题,但是无法将解决方案应用于我的问题。
没有纹理
具有纹理