Volume_under_surface.png
Size of this preview:
500 × 599 pixels
.
Other resolutions:
200 × 240 pixels
|
636 × 762 pixels
.
Description Volume under surface.png | Illustration of volume under a surface ( double integral ) |
Date | (UTC) |
Source | self-made with MATLAB |
Author | Oleg Alexandrov |
Public domain Public domain false false |
I, the copyright holder of this work, release this work into the
public domain
. This applies worldwide.
In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose , without any conditions, unless such conditions are required by law. |
Source code ( MATLAB )
% illustration of the volume under a surface
function main()
L=5; % box size
N=100; % number of points in a lot of places
lw=2; % width of lines
alphatop=1; % transparency
alphaside=0.82;
alphabot=0.8;
bluetop =[0, 1, 0.8];
blueside=[0.2, 0.9, 0.8]; %bluetop;%[0, 0, 1];
bluebot=[0.5, 0.5, 0.5]; %bluetop;%[0, 0, 1];
black=[0, 0, 0];
% the function whose surface we will plot
f=inline('10-(x.^2-y.^2)/8', 'x', 'y');
XX=linspace(-L, L, N);
YY=XX;
[X, Y]=meshgrid(XX, YY);
Z=f(X, Y);
% the surface of the side
XS = [XX, 0*XX+L invert_vector(XX), 0*XX-L];
YS = [0*XX-L, YY, 0*XX+L, invert_vector(YY)];
XS = [XS' XS']';
YS = [YS' YS']';
ZS = 0*XS;
ZS(2, :) = f(XS(2, :), YS(2, :));
% the contour of the bottom
XD=[-L, L, L, -L, -L];
YD=[-L, -L, L, L, -L];
ZD=XD*0;
% prepare figure 1 for plotting
figure(1); clf; hold on; axis equal; axis off;
% plot the function u
surf(X, Y, Z, 'FaceColor', bluetop, 'EdgeColor','none', 'FaceAlpha', alphatop); % top
surf(X, Y, 0*Z, 'FaceColor', bluebot, 'EdgeColor','none', 'FaceAlpha', alphabot); % bottom
surf(XS, YS, ZS, 'FaceColor', blueside, 'EdgeColor','none', 'FaceAlpha', alphaside); % sides
phi = -68; theta = 28;
view (phi, theta);
camlight headlight; lighting phong; % make nice lightning
print('-dpng', '-r200', 'Volume_under_surface.png') % save to file.
function Z = invert_vector(X)
N=length(X);
Z = X;
for i=1:N
Z(i)=X(N-i+1);
end