File:Conformal map.svg

Summary

Description
English: Illustration of a conformal map.
Date
Source Own work
Author Oleg Alexandrov
SVG development
InfoField
 The SVG code is valid.
 This diagram was created with MATLAB.
Category:Valid SVG created with MATLAB#Conformal%20map.svg
 and with Inkscape.
Category:SVG created also with Inkscape
 Category:Translation possible - SVGThis file uses embedded text that can be easily translated using a text editor.

Licensing

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.
Category:Self-published work#Conformal%20map.svgCategory:PD-self#Conformal%20map.svg

Source code

% Compute the image of a rectangular grid under a a conformal map.

function main()

   N = 15; % 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);

   
   % graphing settings
   lw = 1.0;

   % KSmrq's colors
   red    = [0.867 0.06 0.14];
   blue   = [0, 129, 205]/256;
   green  = [0, 200,  70]/256;
   yellow = [254, 194,   0]/256;
   white = 0.99*[1, 1, 1];

   mycolor = blue;
   
   % start plotting
   figno=1; figure(figno); clf;

   shiftx = 0; shifty = 0; scale = 1;
   do_plot(X, Y, lw, figno, mycolor, shiftx, shifty, scale)

   I=sqrt(-1);
   Z = X+I*Y;

   % tweak these numbers for a pretty map
   z0 = 1+ 2*I;
   z1 = 0.1+ 0.2*I;
   z2 = 0.2+ 0.3*I;
   a = 0.01;
   b = 0.02;
   shiftx = 0.1; shifty = 1.2; scale = 1.4;
   F = (Z+z0).^2 +a*(Z+z1).^3 +b*(Z+z2).^4;
   F = (1+2*I)*F;
   
   XF = real(F); YF=imag(F);

   do_plot(XF, YF, lw, figno, mycolor, shiftx, shifty, scale)

   axis ([-1 1.3 -2 2]); axis off;

   saveas(gcf, 'Conformal_map.eps', 'psc2');
   
   
function do_plot(X, Y, lw, figno, mycolor, shiftx, shifty, scale)
   figure(figno); hold on;

   [M, N] = size(X);

   X = X - min(min(X));
   Y = Y - min(min(Y));

   a = max(max(max(abs(X))), max(max(abs(Y))));
   X = X/a; Y = Y/a;

   X = scale*(X-shiftx);
   Y = scale*(Y-shifty);
   
   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;
Category:Complex analysis Category:Conformal mapping Category:Diffeomorphisms Category:Files by User:Oleg Alexandrov from en.wikipedia Category:Geometry images with transparent background Category:Illustrations by Commons users Category:Images with MATLAB source code
Category:Complex analysis Category:Conformal mapping Category:Diffeomorphisms Category:Files by User:Oleg Alexandrov from en.wikipedia Category:Geometry images with transparent background Category:Illustrations by Commons users Category:Images with MATLAB source code Category:PD-self Category:SVG created also with Inkscape Category:Self-published work Category:Translation possible - SVG Category:Valid SVG created with MATLAB