MATLAB: Smoothing contact distribution diagram in 3-D

distribution diagram

I am plotting a distribution diagram after extracting the value of E(size 18 x36). This gives me a scattered plot in 3D. I would like to smoothen it using a Fouries series so that I can obtain a spherical or peanut shaped output. Any inputs on how it can be done?
theta = linspace(0,2*pi,36);
phi = linspace(0,pi,18);
[theta, phi] = meshgrid (theta, phi);
[x,y,z]= sph2cart(theta, phi, E);
surf(x,y,z)

Best Answer

If the smoothing is just for visualization, maybe you could use simple low-pass filtering.
E = rand(18,36)+2;
theta = linspace(0,2*pi,36);
phi = linspace(0,pi,18);
[theta, phi] = meshgrid (theta, phi);
[x,y,z]= sph2cart(theta, phi, E);
figure;surf(x,y,z);title('Rough');
%naive 'smoothening' using low-pass filtering
%using a 3 by 3 averaging filter. 1/(3*3) factor will
%normalize the results.
Es = conv2(E, ones(3,3)/9, 'same');
[x,y,z]= sph2cart(theta, phi, Es);
figure;surf(x,y,z);title('Smoothened');
Related Question