Plik:Simple set2.png
Z testwiki
Przejdź do nawigacji
Przejdź do wyszukiwania
Rozmiar podglądu – 749 × 599 pikseli. Inne rozdzielczości: 300 × 240 pikseli | 600 × 480 pikseli | 960 × 768 pikseli | 1267 × 1014 pikseli.
Rozmiar pierwotny (1267 × 1014 pikseli, rozmiar pliku: 6 KB, typ MIME: image/png)
Ten plik znajduje się w Wikimedia Commons i może być używany w innych projektach. Poniżej znajdują się informacje ze strony opisu tego pliku.
Opis
| OpisSimple set2.png | 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 domainPublic domainfalsefalse |
| 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
Jakaś wartość bez elementu Wikidanych
7 lut 2007
image/png
Historia pliku
Kliknij na datę/czas, aby zobaczyć, jak plik wyglądał w tym czasie.
| Data i czas | Miniatura | Wymiary | Użytkownik | Opis | |
|---|---|---|---|---|---|
| aktualny | 05:01, 7 lut 2007 | 1267 × 1014 (6 KB) | wikimediacommons>Oleg Alexandrov | Made by myself with matlab. |
Lokalne wykorzystanie pliku
Poniższa strona korzysta z tego pliku: