Code covered by the BSD License  

Highlights from
Visualization Tools for Process Condition Monitoring

image thumbnail

Visualization Tools for Process Condition Monitoring

by

 

21 Mar 2003 (Updated )

MATLAB Graphics and solid visualization tools for statistical analysis.

ellipsediff(delta,r,rc,n)
function [xout,yout,zout] = ellipsediff(delta,r,rc,n)
 
% Draws the geometric difference between two congruent ellspoids
% of radii defined by the 3 d vector r and where the centeres
% differ by the vector delta

%r = [5 2 1];
% delta = [.7 .9 .5];

[x,y,z] = ellipsoid(0,0,0,r(1),r(2),r(3),n);
[xc,yc,zc] = ellipsoid(0,0,0,rc(1),rc(2),rc(3),n);
z1 = z;
z2 = zc;

if min(r) <= eps
    error('Non trivial ellipoids only')
end    
for i=1:size(x,1)
    for j=1:size(x,2)
        if (rc.^-2)*([x(i,j); y(i,j); z(i,j)]-delta).^2 <=1
            % exclude points in the non-shifted ellispoid but inside the shifted ellispoid
            % this is the outer shell
            z1(i,j) = NaN;
        end
        if (r.^-2)*([xc(i,j); yc(i,j); zc(i,j)]+delta).^2 >=1
            z2(i,j) = NaN;
            % exclude points in the shifted ellispoid but outside the non-shifted ellispoid
            % 
        end
    end
end
xout = [x xc+delta(1)];
yout = [y yc+delta(2)];
zout = [z1 z2+delta(3)];
% surf([x xc+delta(1)],[y yc+delta(2)],[z1 z2+delta(3)])
% shading interp;

Contact us