コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

ファイル:Amoeba4 400.svg

ページのコンテンツが他言語でサポートされていません。

元のファイル (SVG ファイル、1,185 × 1,199 ピクセル、ファイルサイズ: 2キロバイト)

概要

解説 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
日付 (UTC)
原典 File:Amoeba4 400.png
作者 Vectorised by Zerodamage, from the original work by Oleg Alexandrov


この画像には画像編集が施されています。原本に対して次のデジタル的な変更が行われました。
編集内容:Vector version
編集前の原本:Amoeba4 400.png
編集者:Zerodamage

ライセンス

w:ja:クリエイティブ・コモンズ
表示 継承
このファイルはクリエイティブ・コモンズ 表示-継承 3.0 非移植ライセンスのもとに利用を許諾されています。
あなたは以下の条件に従う場合に限り、自由に
  • 共有 – 本作品を複製、頒布、展示、実演できます。
  • 再構成 – 二次的著作物を作成できます。
あなたの従うべき条件は以下の通りです。
  • 表示 – あなたは適切なクレジットを表示し、ライセンスへのリンクを提供し、変更があったらその旨を示さなければなりません。これらは合理的であればどのような方法で行っても構いませんが、許諾者があなたやあなたの利用行為を支持していると示唆するような方法は除きます。
  • 継承 – もしあなたがこの作品をリミックスしたり、改変したり、加工した場合には、あなたはあなたの貢献部分を元の作品とこれと同一または互換性があるライセンスの下に頒布しなければなりません。

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-two.iwiki.icu/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');


元のアップロードログ

This image is a derivative work of the following images:

Uploaded with derivativeFX

キャプション

このファイルの内容を1行で記述してください

このファイルに描写されている項目

題材

8 8 2012

fa795969c2f8b7cf74824a6450bff6514475eed5

2,419 バイト

1,199 ピクセル

1,185 ピクセル

ファイルの履歴

過去の版のファイルを表示するには、その版の日時をクリックしてください。

日付と時刻サムネイル寸法利用者コメント
現在の版2012年8月8日 (水) 14:492012年8月8日 (水) 14:49時点における版のサムネイル1,185 × 1,199 (2キロバイト)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...

以下のページがこのファイルを使用しています:

グローバルなファイル使用状況

以下に挙げる他のウィキがこの画像を使っています: