I made a 3D matrix representing a ellipsoid. The elements are logic variables, 1 or NaN. I thought this 3D matrix as Cartesian coordinate and the points on it. I want to plot this by using scatter3. But scatter3 accepts 1D vectors as inputs for position. (Before, I made a 2D matrix representing a ellipsoid and plotted this by using imagesc. This function accepts 2D matrix and don't require position vectors.)
Here is the code.
%making a coordinate
Sx=1; Sy=1; Sz=1; Nx=50; Ny=50; Nz=50; dx= Sx/Nx; dy=Sy/Ny; dz=Sz/Nz;xa=[0:Nx-1]*dx;ya=[0:Ny-1]*dy;za=[0:Nz-1]*dz;xa=xa-mean(xa);ya=ya-mean(ya);za=za-mean(za);[X,Y,Z]=meshgrid(xa,ya,za);%ellipsoid
rx=0.5;ry=0.35;rz=0.2;A=zeros(length(xa),length(ya),length(za));A(((X/rx).^2+(Y/ry).^2+(Z/rz).^2)<=1)=1; A(((X/rx).^2+(Y/ry).^2+(Z/rz).^2)>1)=NaN;
Now I don't know how to transform the matrix for scatter3
Best Answer