Перейти на страницу файла на Викискладе

Файл:ML-star.png

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Исходный файл(1621 × 1508 пкс, размер файла: 129 КБ, MIME-тип: image/png)

Made by myself with MATLAB.

 
Это diagram было создано с помощью MATLAB.
Public domain Я, владелец авторских прав на это произведение, передаю его в общественное достояние. Это разрешение действует по всему миру.
В некоторых странах это не может быть возможно юридически, в таком случае:
Я даю право кому угодно использовать данное произведение в любых целях без каких-либо условий, за исключением таких условий, которые требуются по закону.

Source code (MATLAB)

 

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');
Эту математическую иллюстрацию желательно воссоздать или аккуратно преобразовать в векторный формат SVG. Это даёт несколько преимуществ, прочитать о которых подробнее вы можете на странице Commons:Media for cleanup. Если вам уже сейчас доступна векторная версия данного изображения, загрузите её, пожалуйста, а затем замените этот шаблон на следующий: {{Vector version available|Имя загруженного файла.svg}}.

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

изображённый объект

История файла

Нажмите на дату/время, чтобы посмотреть файл, который был загружен в тот момент.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий22:04, 16 апреля 2007Миниатюра для версии от 22:04, 16 апреля 20071621 × 1508 (129 КБ)Oleg Alexandrov
22:01, 16 апреля 2007Миниатюра для версии от 22:01, 16 апреля 20071621 × 1508 (129 КБ)Oleg Alexandrov
21:57, 16 апреля 2007Миниатюра для версии от 21:57, 16 апреля 20071621 × 1508 (129 КБ)Oleg Alexandrov
03:25, 13 апреля 2007Миниатюра для версии от 03:25, 13 апреля 20071094 × 1014 (76 КБ)Oleg AlexandrovMade by myself with MATLAB. {{PD-self}}
03:23, 13 апреля 2007Миниатюра для версии от 03:23, 13 апреля 20071094 × 1014 (76 КБ)Oleg AlexandrovMade by myself with MATLAB. {{PD-self}}
03:22, 13 апреля 2007Миниатюра для версии от 03:22, 13 апреля 20071750 × 1622 (132 КБ)Oleg AlexandrovMade by myself with MATLAB. {{PD-self}}
03:12, 13 апреля 2007Миниатюра для версии от 03:12, 13 апреля 20071081 × 1006 (75 КБ)Oleg AlexandrovMade by myself with MATLAB. {{PD-self}}
03:10, 13 апреля 2007Миниатюра для версии от 03:10, 13 апреля 20071081 × 1006 (76 КБ)Oleg AlexandrovMade by myself with MATLAB. {{PD-self}}

Следующая страница использует этот файл:

Глобальное использование файла

Данный файл используется в следующих вики: