Fichier:Diffeomorphism of a square.svg

De testwiki
Aller à la navigation Aller à la recherche
Fichier d’origine (Fichier SVG, nominalement de 560 × 560 pixels, taille : 39 kio)

Ce fichier provient de Wikimedia Commons et peut être utilisé par d'autres projets. Sa description sur sa page de description est affichée ci-dessous.

Description Illustration of a diffeomorphism.
Date (UTC)
Source self-made with MATLAB
Auteur Oleg Alexandrov
Public domain Moi, propriétaire des droits d’auteur sur cette œuvre, la place dans le domaine public. Ceci s'applique dans le monde entier.
Dans certains pays, ceci peut ne pas être possible ; dans ce cas :
J’accorde à toute personne le droit d’utiliser cette œuvre dans n’importe quel but, sans aucune condition, sauf celles requises par la loi.

Source code (MATLAB)

% Compute a diffeomorphism from a square to a square which leave
% the boundary fixed.

function main()

   N = 20; % num of grid points
   epsilon = 0.1; % displacement for each small diffeomorphism
   num_comp = 10; % number of times the diffeomorphism is composed with itself
   
   S = linspace(-1, 1, N);

   [X, Y] = meshgrid(S);

   Z = X; W = Y;

   % take num_comp compositions of the same small diffeomorphism
   for iter = 1:num_comp

      for i=1:N
         for j=1:N
            
            [Z(i, j), W(i, j)] = small_diffeo(Z(i, j), W(i, j), epsilon);
            
         end
      end

   end
   
   % graphing settings
   lw = 2;
   mycolor = [1, 0, 0.1];
   small = 0.1;
   
   figure(1); clf; hold on;
   for i=1:N
      plot(X(:, i), Y(:, i), 'linewidth', lw, 'color', mycolor);
      plot(X(i, :), Y(i, :), 'linewidth', lw, 'color', mycolor);
   end
   axis([-1-small, 1+small, -1-small, 1+small]);
   axis equal; axis off;
   
   figure(2); clf; hold on;
   for i=1:N
      plot(Z(:, i), W(:, i), 'linewidth', lw, 'color', mycolor);
      plot(Z(i, :), W(i, :), 'linewidth', lw, 'color', mycolor);
   end
   axis([-1-small, 1+small, -1-small, 1+small]);
   axis equal; axis off;
   
function [z, w] = small_diffeo(x, y, epsilon);

   A1=epsilon*(cos(pi*x)+1)*(cos(pi*y)+1)/4.0;
   A2=epsilon*cos(pi*x/2)*cos(pi*y/2);

   A = (A1+A2)/2;
   
   z = x +(-y)*A;
   w = y +( x)*A;

Légendes

Ajoutez en une ligne la description de ce que représente ce fichier

Éléments décrits dans ce fichier

dépeint

Historique du fichier

Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.

Date et heureVignetteDimensionsUtilisateurCommentaire
actuel16 février 2009 à 11:03Vignette pour la version du 16 février 2009 à 11:03560 × 560 (39 kio)wikimediacommons>Erik del Toro Streb''stroke-linecap:round'' for better locking corners

La page suivante utilise ce fichier :