File:ML-star.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file (1,621 × 1,508 pixels, file size: 129 KB, MIME type: image/png)

Captions

Captions

Add a one-line explanation of what this file represents

Made by myself with MATLAB.

 
This diagram was created with MATLAB.
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

Source code (MATLAB)

[edit]
 

function main()

%   Illustration of the Mittag-Leffler star
   
   lw=3.0;
   lightblue = [0.8 0.8 1];
   red=[0.867 0.06 0.14];
   blue = [0, 129, 205]/256;
   green = [0, 146,  70]/256;
   white=0.99*[1, 1, 1];
   
   % will draw a spline-interpolated curve through these points
   XX=[0.0543 -0.4058 -0.8211 -0.5463 -0.1310  0.1821  0.5847  0.2907];
   YY=[0.7796  0.3578  0.1661 -0.1597 -0.5495 -0.2748 -0.1278  0.3323];

   figure(2); clf; hold on; axis equal; axis off;
   N=100; % how fine to make the interpolation
   [X, Y] = get_spline(N, XX, YY);
   plot(X, Y, 'LineWidth', lw, 'color', blue);
   
%  the number of circles to plot and their radii
   P = 6; R=1:P; R=1.09-1./R.^1.3; R=[0  0.4 R(2:length(R))];
   M=length(R);

%  plot rays
   O=[0, 0]; 
   Angles=[1.0 2.34 6.1];
   for l=1:length(Angles)
	  m = floor(Angles(l)*N)+1;
	  E = [X(m), Y(m)];
   
	  plot([O(1), E(1)], [O(2), E(2)], 'linewidth', lw, 'color', green);
   end;
   
   % plot central circle and its center
   radius=0.2; 
   plot_circle(O(1), O(2), radius, lw, red);
   tinyrad = 0.013;
   ball(O(1), O(2), tinyrad, green);

   % plot circles along the rays
   for l=1:length(Angles)
	  m = floor(Angles(l)*N)+1;
	  E = [X(m), Y(m)];
   
	  e=norm(E);
	  for i=2:(M-1)
		 t=R(i);
		 radius=0.85*(R(i+1)-R(i))*e;
		 C=t*E;
		 plot_circle(C(1), C(2), radius, lw, red);
	  end
   end


%  text
   fontsize = 26;
   tiny=0.0022*fontsize;
   text(O(1)-tiny, O(2)-tiny, '\it{a}', 'fontsize', fontsize);

%   plot a box around the figure to avoid bugs with saving to eps
   offset=0.04;
   plot(min(X)-offset, min(Y)-offset, '*', 'color', white)
   plot(max(X)+offset, max(Y)+offset, '*', 'color', white)

   saveas(gcf, 'ML-star.eps', 'psc2')
%  to later convert from eps to png use
%  convert -antialias -density 250 ML-star.eps ML-star.png
   
function [xx, yy] = get_spline(N, x, y)
   
   n=length(x); 
   P=5; Q=n+2*P+1; % P will denote the amount of overlap
   
% Make the 'periodic' sequence xp=[x(1) x(2) x(3) ... x(n) x(1) x(2) x(3) ... ]
% of length Q. Same for yp.
   for i=1:Q
	  j=rem(i, n)+1; % rem() is the remainder of division of i by n
	  xp(i)=x(j);
	  yp(i)=y(j);
   end
   
% do the spline interpolation
   t=1:length(xp);
   tt=1:(1/N):length(xp);
   xx=spline(t, xp, tt);
   yy=spline(t, yp, tt);
   
% discard the redundant pieces
   start=N*(P-1)+1;
   stop=N*(n+P-1)+1;
   xx=xx(start:stop); 
   yy=yy(start:stop);

function plot_circle(x, y, r, lw, color)

   Theta=0:0.1:2.1*pi;
   X=r*cos(Theta)+x;
   Y=r*sin(Theta)+y;
   plot(X, Y, 'linewidth', lw, 'color', color);

function ball(x, y, r, color)
   Theta=0:0.1:2.1*pi;
   X=r*cos(Theta)+x;
   Y=r*sin(Theta)+y;
   H=fill(X, Y, color);
   set(H, 'EdgeColor', 'none');
This math image could be re-created using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is available, please upload it and afterwards replace this template with {{vector version available|new image name}}.


It is recommended to name the SVG file “ML-star.svg”—then the template Vector version available (or Vva) does not need the new image name parameter.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current22:04, 16 April 2007Thumbnail for version as of 22:04, 16 April 20071,621 × 1,508 (129 KB)Oleg Alexandrov (talk | contribs)
22:01, 16 April 2007Thumbnail for version as of 22:01, 16 April 20071,621 × 1,508 (129 KB)Oleg Alexandrov (talk | contribs)
21:57, 16 April 2007Thumbnail for version as of 21:57, 16 April 20071,621 × 1,508 (129 KB)Oleg Alexandrov (talk | contribs)
03:25, 13 April 2007Thumbnail for version as of 03:25, 13 April 20071,094 × 1,014 (76 KB)Oleg Alexandrov (talk | contribs)Made by myself with MATLAB. {{PD-self}}
03:23, 13 April 2007Thumbnail for version as of 03:23, 13 April 20071,094 × 1,014 (76 KB)Oleg Alexandrov (talk | contribs)Made by myself with MATLAB. {{PD-self}}
03:22, 13 April 2007Thumbnail for version as of 03:22, 13 April 20071,750 × 1,622 (132 KB)Oleg Alexandrov (talk | contribs)Made by myself with MATLAB. {{PD-self}}
03:12, 13 April 2007Thumbnail for version as of 03:12, 13 April 20071,081 × 1,006 (75 KB)Oleg Alexandrov (talk | contribs)Made by myself with MATLAB. {{PD-self}}
03:10, 13 April 2007Thumbnail for version as of 03:10, 13 April 20071,081 × 1,006 (76 KB)Oleg Alexandrov (talk | contribs)Made by myself with MATLAB. {{PD-self}}

There are no pages that use this file.

File usage on other wikis

The following other wikis use this file: