Plik:Simple set2.png

Treść strony nie jest dostępna w innych językach.
Ten plik jest umieszczony w Wikimedia Commons
Z Wikipedii, wolnej encyklopedii

Rozmiar pierwotny(1267 × 1014 pikseli, rozmiar pliku: 6 KB, typ MIME: image/png)

Opis

Opis Made by myself with matlab.
Data 7 lutego 2007 (data pierwszego przesłania pliku)
Źródło Praca własna
Autor Oleg Alexandrov

Licencja

Public domain Ja, właściciel praw autorskich do tej pracy, udostępniam ją jako własność publiczną. Dotyczy to całego świata.
W niektórych krajach może nie być to prawnie możliwe, jeśli tak, to:
Zapewniam każdemu prawo do użycia tej pracy w dowolnym celu, bez żadnych ograniczeń, chyba że te ograniczenia są wymagane przez prawo.

Source code (MATLAB)

% split a union of rectangles into a union of rectangles without overlaps
function main()

   M=10; imag_root=sqrt(-1); lw=2.5; Ball_rad=0.03;

   figure(2); clf; hold on; axis equal; axis off;
   
% plot the outer polygonal curve
   color = [139;10;80]/256;
   
   X=[-2.3677    1.7624    0.1177    4.6499   -3.6469    0.6659    3.4803    6.8794];
   Y=[-3.1177    0.2814   -1.1440    2.6937     -0.4496  3.8268    1.5241    5.1425];

%  a dummy plot to avoid a matlab bug causing some lines to appear too thin
   C=1.05;
   plot(C*min(X), C*min(Y), '*', 'color', 0.99*[1, 1, 1]);
   plot(C*max(X), C*max(Y), '*', 'color', 0.99*[1, 1, 1]);

   % plot the big rectangles, and fill their interiors
   n=length(X)/2;
   for i=1:n
      ax=X(2*i-1); bx=X(2*i);
      ay=Y(2*i-1); by=Y(2*i);

      % plot the rectangle
      plot([ax bx bx ax ax], [ay ay by by ay], 'linewidth', lw, 'color', color);

      % round off the corners (a cosmetic thing)
      round_ball(ax+imag_root*ay, Ball_rad, color');
      round_ball(ax+imag_root*by, Ball_rad, color');
      round_ball(bx+imag_root*ay, Ball_rad, color');
      round_ball(bx+imag_root*by, Ball_rad, color');

   end

% plot the interiors all the small rectangles
   XS=sort(X); YS = sort (Y);

   for l=1:(length(XS)-1);
      for m=1:(length(YS)-1)
	 cx=XS(l); dx=XS(l+1);
	 cy=YS(m); dy=YS(m+1);
	 
	 success=0; % don't fill a rectangle more than once (will show up darker then)
	 for i=1:n
	    ax=X(2*i-1); bx=X(2*i);
	    ay=Y(2*i-1); by=Y(2*i);
	    if ax <= cx & dx <= bx & ay <= cy & dy <= by & success ==0 
	       success=1;
	       fill([cx dx dx cx], [cy cy dy dy], color'/2, 'FaceAlpha', 0.3, 'linewidth', 0.01, 'EdgeAlpha', 0);
	    end
	    
	    end
      end
   end
   
% plot the edges of all rectanges
   for i=1:n
      ax=X(2*i-1); bx=X(2*i);
      ay=Y(2*i-1); by=Y(2*i);
	 
      for l=1:length(XS);
	 u=XS(l); 
	 if ax < u & u < bx
	    plot([u u], [ay, by], 'linewidth', lw, 'color', color);
	 end
	 
	 
      end
      
      for l=1:length(YS);
	 v=YS(l); 
	 if ay < v & v < by
	    plot([ax bx], [v, v], 'linewidth', lw, 'color', color);
	 end
	 
	 
      end
   end
   
   
   saveas(gcf, 'simple_set2.eps', 'psc2');
   
function round_ball(z, r, color)
   x=real(z); y=imag(z);
   Theta = 0:0.1:2*pi;
   X = r*cos(Theta)+x;
   Y = r*sin(Theta)+y;
   Handle = fill(X, Y, color);
   set(Handle, 'EdgeColor', color);
Ta grafika (math) (lub wszystkie grafiki w tym artykule bądź kategorii) powinny zostać przetworzone na grafiki wektorowe jako plik SVG. O zaletach grafik wektorowych można przeczytać na stronie Commons:Media for cleanup. Jeśli wersja SVG tej grafiki jest już dostępna, załaduj ją. Po załadowaniu SVG zamień ten szablon na stronie tej grafiki na szablon {{vector version available|nazwa nowej grafiki.svg}}.

Podpisy

Dodaj jednolinijkowe objaśnienie tego, co ten plik pokazuje

Obiekty przedstawione na tym zdjęciu

przedstawia

image/png

Historia pliku

Kliknij na datę/czas, aby zobaczyć, jak plik wyglądał w tym czasie.

Data i czasMiniaturaWymiaryUżytkownikOpis
aktualny06:01, 7 lut 2007Miniatura wersji z 06:01, 7 lut 20071267 × 1014 (6 KB)Oleg AlexandrovMade by myself with matlab.

Poniższa strona korzysta z tego pliku:

Globalne wykorzystanie pliku