4d plot in order to create a surface with density from 4 vectors ( coordinates of the dots). X, Y, Z and C is the color.

조회 수: 14 (최근 30일)
Hi,
I wanto to create a 4d plot, like isosurface. The data is attached. 4 vectors, xyz and color.
The problem is that I only have 4 vectors, XYZ is position in the space which creates the object and c is the color of that point.
I am kind of lost. Maybe I need to use meshgrid but the vectors has 37k points.
Thanks

채택된 답변

Akira Agata
Akira Agata 2019년 10월 21일
OK. Then, how about the following?
% Load data
load('object.mat')
% Create meshgrid
[xq, yq, zq] = meshgrid(min(x):5:max(x),min(y):5:max(y),min(z):5:max(z));
% Assign data to the grid point
cq = nan(size(xq));
[~, pos] = ismember([x,y,z],[xq(:),yq(:),zq(:)],'rows');
cq(pos) = c;
% Find boundary points location
k = boundary(x,y,z,1);
% Create isosurface levels and color
N = 8;
color = jet(N);
v = linspace(min(c),max(c),N);
% Visualize the result
figure
hold on
for kk = 1:N
p = patch(isosurface(xq,yq,zq,cq,v(kk)),...
'FaceColor', color(kk,:),...
'EdgeColor', 'none',...
'FaceAlpha', 0.2);
isonormals(xq,yq,zq,cq,p)
end
trisurf(k,x,y,z,...
'Facecolor', 'b',...
'FaceAlpha', 0.1,...
'Edgecolor', 'none')
view(120,30);
camlight('headlight')
lighting gouraud
grid on
isosurface.png
  댓글 수: 2
Rafael Freire
Rafael Freire 2019년 10월 21일
THAT IS PERFECT!!!!!! Exactly what I needed. Thank you very very much!!!! I spent more than a week trying to solve this.
Rafael Freire
Rafael Freire 2019년 10월 21일
편집: Rafael Freire 2019년 10월 21일
BTW, many people are having the same issue. I read tons of Q&A and doubts regarding this issue during this week and all of them were unclear how solve it. Once again thank you very much. Maybe it sounds good to create a topic on it."From 4d xyzc coordinates to a surface plot"

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Akira Agata
Akira Agata 2019년 10월 19일
How about simply using scatter3 function, like:
load('object.mat')
figure
scatter3(x,y,z,[],c,'.')
colorbar
scatter3.png
  댓글 수: 1
Rafael Freire
Rafael Freire 2019년 10월 19일
HI.
Thank you for your answer. I arealdy tryed that but i didint work.
The final result that I need is like the pic below. objectReal.png

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by