how can i map a 2d texture image in 3d surface ?
12 ビュー (過去 30 日間)
古いコメントを表示
hello every one
I have a texture image I want to map this texture to a 3d object ,where i want which each face of this 3d surface will be plated with this image this is my code
v = fv.vertices; % vertices [x y z] columns
f=fv.faces;
nx = 120; % the size of the grid
ny = 120; % the size of the grid
% create a grid in x and y
x = linspace(min(v(:,1)),max(v(:,1)),nx);
y = linspace(min(v(:,2)),max(v(:,2)),ny);
[x,y] = meshgrid(x,y);
Z = gridtrimesh(f,v,x,y);
surf(x,y,Z,'facecolor','texturemap', ...
'cdata',I,'edgecolor','none');
but I don't have the result which I wanted how I can solve the problem ?
0 件のコメント
回答 (1 件)
drummer
2020 年 10 月 21 日
Your code is not very clear, but I assume your 2D texture is f, right?
You want a 3D plot of each surface?
Would this work?
v = rand(10,10); % mimicking your faces. Notice it is two dimensional
figure
surfc(v); % Notice this way, the dimensions of your 3D plot will be the dimension of your faces.
% Therefore, no grid was necessary.
You can code a workaround for each face.
If that helps, please accept the answer.
Cheers.
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!