Stampa:Analytic continuation along a curve.png

Minn testwiki
Aqbeż lejn in-navigazzjoni Aqbeż lejn it-tfittxija
Fajl oriġinali (408 × 1,006 pixel, dimensjoni: 32 KB, tip ta' MIME: image/png)

Dan il-fajl huwa minn Wikimedia Commons u jista' jiġi wżat minn proġetti oħrajn. Id-deskrizzjoni fuq il-paġna ta' deskrizzjoni tal-fajl tinsab hawn taħt.

Taqsira

Deskrizzjoni
English: Analytic continuation along a curve
Data
Sors Opra proprja
Awtur Oleg Alexandrov
PNG genesis
InfoField
 This diagram was created with MATLAB.

Liċenzja

Public domain This work has been released into the public domain by its author, Oleg Alexandrov. This applies worldwide.
In some countries this may not be legally possible; if so:
Oleg Alexandrov grants anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

Source code

Dan huwa l-logo ta ': MATLAB – numerical computing environment
Dan huwa l-logo ta ': MATLAB – numerical computing environment
This media was created with MATLAB (numerical computing environment)
Here is a listing of the source used to create this file.

Deutsch  English  +/−

% illustrate the analytic continuation along a curve
function main()

   lw=2;  % line width
   fs=20; % font size 
   h=1/100;
   tinyrad = 0.04;
   red = [1, 0, 0];
   
   figure(1); clf; hold on; axis equal; axis off;

   % generate the curve on which the analytic continuation will take place
   XX=[-0.1, 0.3, 0.4 0.28 0.0]; YY=1.4*[0, 1, 1.5 2 2.8];
   Y=YY(1):h:YY(length(YY)); X=spline(YY, XX, Y);
   N = length(X);

   % plot the circles of analytic continuation
   rad=0.8;
   spacing = 1; gap = spacing/h;
   k=1;
   while k <= N
	  plot_circle(X(k), Y(k), rad, lw);
	  k = k+gap;
   end
   plot_circle(X(N), Y(N), rad, lw);

   % plot the curve
   plot(X, Y, 'color', red, 'linewidth', lw);

   % plot the text
   tiny=0.003*fs;
   plot_text(X(1), Y(1), -2*tiny, -3.5*tiny, '\gamma(0)', fs, tinyrad, red);
   t=0.5; k=floor(N*t);
   plot_text(X(k), Y(k), tiny, tiny, '\gamma(\it{t})', fs, tinyrad, red);
   plot_text(X(N), Y(N), -4*tiny, 4.5*tiny, '\gamma(1)', fs, tinyrad, red);


   % plot arrows showing the direction along the curve
   thickness = lw;
   arrow_size = 0.27;
   sharpness=25;
   arrow_type=1;
   t= 0.2; s=0.1; k = floor(N*t); l = floor(N*(t+s));
   arrow([X(k), Y(k)], [X(l), Y(l)], thickness, arrow_size, sharpness, arrow_type, red)
   t= 0.8; s=0.1; k = floor(N*t); l = floor(N*(t+s));
   arrow([X(k), Y(k)], [X(l), Y(l)], thickness, arrow_size, sharpness, arrow_type, red)
   
   % plot a phony box around the graph to avoid a bug in matlab
   % with truncating around the edges when exporting to eps
   white=0.99*[1 1 1]; factor=1.1;
   plot(X(1)-factor*rad, Y(1)-factor*rad, '*', 'color', white);
   plot(X(N)+factor*rad, Y(N)+factor*rad, '*', 'color', white);
   saveas(gcf, 'analytic_continuation_along_a_curve.eps', 'psc2');
   
function plot_circle(x, y, r, lw)

   N=100;
   Theta=0:(1/N):2.1*pi;
   X=r*cos(Theta);
   Y=r*sin(Theta);

   plot(x+X, y+Y, 'linewidth', lw);

function plot_text(x, y, shiftx, shifty, str, fs, tinyrad, color)
   text(x+shiftx, y+shifty, str, 'fontsize', fs);
   ball(x, y, tinyrad, color);
      
function ball(x, y, r, color)
   Theta=0:0.1:2*pi;
   X=r*cos(Theta)+x;
   Y=r*sin(Theta)+y;
   H=fill(X, Y, color);
   set(H, 'EdgeColor', 'none');

function arrow(start, stop, thickness, arrow_size, sharpness, arrow_type, color)
   
% Function arguments:
% start, stop:  start and end coordinates of arrow, vectors of size 2
% thickness:    thickness of arrow stick
% arrow_size:   the size of the two sides of the angle in this picture ->
% sharpness:    angle between the arrow stick and arrow side, in degrees
% arrow_type:   1 for filled arrow, otherwise the arrow will be just two segments
% color:        arrow color, a vector of length three with values in [0, 1]
   
% convert to complex numbers
   i=sqrt(-1);
   start=start(1)+i*start(2); stop=stop(1)+i*stop(2);
   rotate_angle=exp(i*pi*sharpness/180);

% points making up the arrow tip (besides the "stop" point)
   point1 = stop - (arrow_size*rotate_angle)*(stop-start)/abs(stop-start);
   point2 = stop - (arrow_size/rotate_angle)*(stop-start)/abs(stop-start);

   if arrow_type==1 % filled arrow

      % plot the stick, but not till the end, looks bad
      t=0.5*arrow_size*cos(pi*sharpness/180)/abs(stop-start); stop1=t*start+(1-t)*stop;
      plot(real([start, stop1]), imag([start, stop1]), 'LineWidth', thickness, 'Color', color);

      % fill the arrow
      H=fill(real([stop, point1, point2]), imag([stop, point1, point2]), color);
      set(H, 'EdgeColor', 'none')
      
   else % two-segment arrow
      plot(real([start, stop]), imag([start, stop]),   'LineWidth', thickness, 'Color', color); 
      plot(real([stop, point1]), imag([stop, point1]), 'LineWidth', thickness, 'Color', color);
      plot(real([stop, point2]), imag([stop, point2]), 'LineWidth', thickness, 'Color', color);
   end
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 “Analytic continuation along a curve.svg”—then the template Vector version available (or Vva) does not need the new image name parameter.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts Ingliż

media type Ingliż

image/png

checksum Ingliż

176da5111ece3e393258e3a822df3f97a7cafe8a

data size Ingliż

32,906 byte

height Ingliż

1,006 pixel

width Ingliż

408 pixel

Kronoloġija tal-fajl

Agħfas fuq il-grupp data/ħin biex tara l-fajl biex tara kif jidher dak il-ħin.

Data/ĦinMinjaturaQisienUtentKumment
kurrenti04:26, 8 April 2007Minjatura tal-verżjoni ta' 04:26, 8 April 2007408 × 1,006 (32 KB)wikimediacommons>Oleg AlexandrovMade by myself with MATLAB. {{PD-self}}

Din il-paġna tuża dan il-fajl: