Dosiero:Level set method.jpg

El Vikipedio

La bildo estas kopiita de wikipedia:en. La originala priskribo estas:


Public domain
Tiu ĉi bildo estas publika havaĵo. Je ĝi ne estas kopirajto, ĉu ĉar la bildo estas malnova, ĉu ĉar la kopirajto-posedanto konsentas, ĉu ĉar ne eblas ĝin kopirajtigi. Tio ĉi validas tutmonde.

Illustration of level set method.

Matlab source code (public domain)

function level_set_method()
   figure(1); clf; % pop up a figure, and clean it up
for i=1:3 % make a loop to draw the six pictures in pairs
   level_disp(i);
end

print('-djpeg100',  '-r100', 'level_set_method.jpg') % save to file. 

function level_disp(p)

   Lx=2.5; Ly=2.5; % box is [-Lx Lx] x [-Ly, Ly]
   N=60;  % number of points (don't make it big, code will be slow)
   heights=[0.7+eps, 0.00001, -0.7+eps]; % cut the surface at these heights 
   height=heights(p); % current cut

   [X, Y]=meshgrid(-Lx:(1/N):Lx, -Ly:(1/N):Ly);     % X and Y coordinates
   Z=height-0.5*(X-1.78).*X.^2.*(X+1.78)-Y.^2;  % Z=f(X, Y) -surface

   lowest=-4;
   [m, n]=size(Z); 
   for i=1:m
      for j=1:n
         if Z(i, j)< lowest; % truncate the surface somewhere
            Z(i, j)=NaN;
         end
      end
   end

% draw the sufrace and the plane cut
   figure(1); subplot('Position', [(p-1)/3, 0., 0.33, 0.5]); hold on; 
   surf(X, Y, Z, 'FaceColor','red', 'EdgeColor','none', 'FaceAlpha', 1); 
   surf(X, Y, zeros(m, n), 'FaceColor','blue', 'EdgeColor','none', 'FaceAlpha', 0.3); 
   camlight left;lighting phong; % make nice lightning 
   axis([-Lx Lx -Ly Ly lowest 1.8]); axis equal;  axis off; %the coordinate box
   view(-23, 34)        % angle of view (polar coordinates)

% draw the shape (cross-section)
   figure(1); subplot('Position', [(p-1)/3, 0.5, 0.33, 0.5]); % subwindow
   [c, stuff] = contour(X, Y, Z, [0, 0]); % draw the contours.
   l=c(2, 1);
   x=c(1,2:(l+1));  y=c(2,2:(l+1)); % get x and y of contours
   H=fill(x, y, 0.6*[1, 1, 1]); set(H, 'EdgeColor', 'none'); % draw the shape

   [u, v]=size(c);
   if v > l+2 % special case: two connected components
      x=c(1,(l+3):(2*l)); y=c(2,(l+3):(2*l)); % contours
      hold on; % hold the graph for the second component
      H=fill(x, y, 0.6*[1, 1, 1]); set(H, 'EdgeColor', 'none'); 
   end
   axis equal; axis off; axis([-Lx Lx -Ly Ly]); % frame size
date/time username edit summary
20:18, 26 December 2005 en:User:128.84.98.150
04:02, 5 July 2005 en:User:Superm401 (user put {{PD}} in descriptoin)
01:48, 24 December 2004 en:User:Oleg Alexandrov
01:48, 24 December 2004 en:User:Oleg Alexandrov
01:48, 24 December 2004 en:User:Oleg Alexandrov
01:47, 24 December 2004 en:User:Oleg Alexandrov (added source code)
03:20, 25 November 2004 en:User:Olegalexandrov (Illustration of level set method. {{PD}})

[redaktu] Historio de la dosiero

Legend: (cur) = this is the current file, (del) = delete this old version, (rev) = revert to this old version.

Click on date to download the file or see the image uploaded on that date.

Dosierhistorio

Alklaku iun daton kaj horon por vidi kiel la dosiero tiam aspektis.

Dato/HoroUzuloGrandecojDosiergrandecoKomento
(nun)15:31, 19. Mar 2006Maksim-bot (Diskuto | kontribuoj)800×60089 KBLa bildo estas kopiita de wikipedia:en. La originala priskribo estas: {{PD}} Illustration of level set method. Matlab source code (public domain) <pre> function level_set_method() figure(1); clf; % pop up a figure, and clean it up for i=1:3 % make a

Neniu paĝo ligas al ĉi tiu dosiero.

Aliaj lingvoj