Originaldatei(SVG-Datei, Basisgröße: 1.185 × 1.199 Pixel, Dateigröße: 2 KB)


Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Commons eingebunden.
Weitere Informationen und eine Kontaktmöglichkeit zum Urheber sind dort zu finden.
Zur Beschreibungsseite auf Commons Zur Beschreibungsseite auf Commons



Beschreibung

Beschreibung The amoeba of P(z, w)=50 z3 +83 z2 w+24 z w2 +w3+392 z2+414 z w+50 w2 -28 z +59 w-100
Datum (UTC)
Quelle File:Amoeba4 400.png
Urheber Vectorised by Zerodamage, from the original work by Oleg Alexandrov


Dieses Bild wurde digital nachbearbeitet. Folgende Änderungen wurden vorgenommen: Vector version. Das Originalbild kann hier eingesehen werden: Amoeba4 400.png. Bearbeitet von Zerodamage.

Lizenz

w:de:Creative Commons
Namensnennung Weitergabe unter gleichen Bedingungen
Dieses Werk darf von dir
  • verbreitet werden – vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden
  • neu zusammengestellt werden – abgewandelt und bearbeitet werden
Zu den folgenden Bedingungen:
  • Namensnennung – Du musst angemessene Urheber- und Rechteangaben machen, einen Link zur Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden. Diese Angaben dürfen in jeder angemessenen Art und Weise gemacht werden, allerdings nicht so, dass der Eindruck entsteht, der Lizenzgeber unterstütze gerade dich oder deine Nutzung besonders.
  • Weitergabe unter gleichen Bedingungen – Wenn du das Material wiedermischst, transformierst oder darauf aufbaust, musst du deine Beiträge unter der gleichen oder einer kompatiblen Lizenz wie das Original verbreiten.

Source code


% find the amoeba of the polynomial
% p(z, w)=50 z^3+83 z^2 w+24 z w^2+w^3+392 z^2+414 z w+50 w^2-28 z +59 w-100
% See http://en.wikipedia.org/wiki/Amoeba_(mathematics).

function main()

   figure(3); clf; hold on;
   axis equal; axis off;
   axis([-4.5, 5, -3.5, 6]); 
   fs = 20; set(gca, 'fontsize', fs);
   ii=sqrt(-1);
   tiny = 100*eps;
   
   Ntheta = 500; % for Ntheta=500 the code will run very slowly, but will get a good resolution
   NR=      Ntheta; 

   % R is a vector of numbers, exponentiall distributed
   A=-5; B=5;
   LogR  = linspace(A, B, NR);
   R     = exp(LogR);

   % a vector of angles, uniformly distributed
   Theta = linspace(0, 2*pi, Ntheta);

   degree=3;
   Rho = zeros(1, degree*Ntheta); % Rho will store the absolute values of the roots
   One = ones (1, degree*Ntheta);

   % play around with these numbers to get various amoebas
   b1=1;  c1=1; 
   b2=3;  c2=15;
   b3=20; c3=b3/5; 
   d=-80; e=d/4;
   f=0; g=0;
   h=20; k=30; l=60;
   m=0; n = -10; p=0; q=0;
   
%  Draw the 2D figure as union of horizontal slices and then union of vertical slices.
%  The resulting picture achieves much higher resolution than any of the two individually.
   for type=1:2

	  for count_r = 1:NR
		 count_r
		 
		 r = R(count_r);
		 for count_t =1:Ntheta
			
			theta = Theta (count_t);

			if type == 1
			   z=r*exp(ii*theta);

%                         write p(z, w) as a polynomial in w with coefficients polynomials in z 
%                         first comes the coeff of the highest power of w, then of the lower one, etc.
			   Coeffs=[1+m,
				   c1+c2+c3+b1*z+b2*z+b3*z+k+p*z,
				   e+g+(c1+b1*z)*(c2+b2*z)+(c1+c2+b1*z+b2*z)*(c3+b3*z)+l*z+q*z^2,
				   d+f*z+(c3+b3*z)*(e+(c1+b1*z)*(c2+b2*z))+h*z^2+n*z^3];

			else
%                          write p(z, w) as a polynomial in z with coefficients polynomials in w 		
			   w=r*exp(ii*theta);
			   Coeffs=[b1*b2*b3+n,
				   h+b1*b3*(c2+w)+b2*(b3*(c1+w)+b1*(c3+w))+q*w,
				   (b2*c1+b1*c2)*c3+b3*(c1*c2+e)+f+(b1*c2+b3*(c1+c2)+b1*c3+b2*(c1+c3)+l)*w+...
				   (b1+b2+b3)*w^2+p*w^2,
				   d+c3*(c1*c2+e)+(c1*c2+(c1+c2)*c3+e+g)*w+(c1+c2+c3+k)*w^2+w^3+m*w^3];
			end
			
%                       find the roots of the polynomial with given coefficients
			Roots = roots(Coeffs);
			
%                       log |root|. Use max() to avoid log 0.
			Rho((degree*(count_t-1)+1):(degree*count_t))= log (max(abs(Roots), tiny)); 
		 end
		 

%        plot the roots horizontally or vertically
		 if type == 1
		        plot(LogR(count_r)*One, Rho, 'b.');
		 else
		        plot(Rho, LogR(count_r)*One, 'b.');
		 end
		 
	  end

   end
   
   saveas(gcf, sprintf('amoeba4_%d.eps', NR), 'psc2');


Ursprüngliches Datei-Logbuch

This image is a derivative work of the following images:

Hochgeladen mit derivativeFX

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.

In dieser Datei abgebildete Objekte

Motiv

image/svg+xml

fa795969c2f8b7cf74824a6450bff6514475eed5

2.419 Byte

1.199 Pixel

1.185 Pixel

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell16:49, 8. Aug. 2012Vorschaubild der Version vom 16:49, 8. Aug. 20121.185 × 1.199 (2 KB)Zerodamage== {{int:filedesc}} == {{Information |Description=Made by myself with Matlab. |Source={{Derived from|Amoeba4_400.png|display=50}} |Date=2012-08-08 14:48 (UTC) |Author=*File:Amoeba4_400.png: Oleg Alexandrov *derivative wor...

Die folgende Seite verwendet diese Datei:

Globale Dateiverwendung

Die nachfolgenden anderen Wikis verwenden diese Datei: