File:Analytic continuation along a curve.png
Da testwiki.
Vai alla navigazione
Vai alla ricerca
Dimensioni di questa anteprima: 243 × 599 pixel. Altre risoluzioni: 97 × 240 pixel | 408 × 1 006 pixel.
File originale (408 × 1 006 pixel, dimensione del file: 32 KB, tipo MIME: image/png)
Questo file proviene da Wikimedia Commons e può essere utilizzato da altri progetti. Di seguito viene mostrata la descrizione presente nella pagina di descrizione del file.
Dettagli
| DescrizioneAnalytic continuation along a curve.png |
English: Analytic continuation along a curve |
| Data | |
| Fonte | Opera propria |
| Autore | Oleg Alexandrov |
| PNG sviluppo InfoField |
Licenza
| Public domainPublic domainfalsefalse |
| Quest'opera è stata rilasciata nel pubblico dominio dal suo autore, Oleg Alexandrov. Questa norma si applica in tutto il mondo. In alcuni paesi questo potrebbe non essere legalmente possibile. In tal caso: Oleg Alexandrov garantisce a chiunque il diritto di utilizzare quest'opera per qualsiasi scopo, senza alcuna condizione, a meno che tali condizioni siano richieste dalla legge. |
Source code (MATLAB)
% 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
Questa immagine (categorizzazione automatica: math) o tutte le immagini in questa categoria o galleria dovrebbero essere ricreate usando grafica vettoriale come file SVG. Questo offre diversi vantaggi: vedi Commons:Media for cleanup per maggiori informazioni. Se è disponibile una versione in formato SVG di questa immagine, per favore caricala. Dopo aver caricato un file SVG, sostituisci questo avviso con il template {{Vector version available|nome_immagine.svg}}.
|
Didascalie
Aggiungi una brevissima spiegazione di ciò che questo file rappresenta
Elementi ritratti in questo file
raffigura
image/png
176da5111ece3e393258e3a822df3f97a7cafe8a
32 906 byte
1 006 pixel
408 pixel
Cronologia del file
Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.
| Data/Ora | Miniatura | Dimensioni | Utente | Commento | |
|---|---|---|---|---|---|
| attuale | 04:26, 8 apr 2007 | 408 × 1 006 (32 KB) | wikimediacommons>Oleg Alexandrov | Made by myself with MATLAB. {{PD-self}} |
Utilizzo del file
La seguente pagina usa questo file: