Matlab программно определяет масштаб и поворот фигуры - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь отобразить фигуру без лишних «белых» областей на заднем плане. У меня есть следующая цифра:
enter image description here
(где избыточный фон отмечен синим цветом)

И мне бы хотелось, чтобы результат, показанный на рисунке, был больше похож на
enter image description here
Это код, который я использую для построения фигур

function plot_scalar_map(M, f, diffuse_strength)

if nargin==2
    diffuse_strength=0.6;
end

trisurf(M.TRIV,M.VERT(:,1),M.VERT(:,2),M.VERT(:,3),double(f),...
    'SpecularStrength',0.15,...
    'DiffuseStrength',diffuse_strength);
axis equal
shading interp
rotate3d on
set(gca,'clipping','off')
xlabel('X')
ylabel('Y')
zlabel('Z')

end



mesh_0 = load('M0');
mesh_1 = load('M1');

matches = load('X.mat'));

colors = create_colormap(mesh_1,mesh_1);
figure;
subplot(1,2,1); colormap(colors);
plot_scalar_map(mesh_1,[1: size(mesh_1.VERT,1)]');freeze_colors;title('Target');

subplot(1,2,2); colormap(colors(matches,:));
plot_scalar_map(mesh_0,[1: size(mesh_0.VERT,1)]');freeze_colors;title('Source');
...