Conformal_map.svg


Summary

Description Illustration of a conformal map .
Date
Source self-made with MATLAB, tweaked in Inkscape.
Author Oleg Alexandrov
SVG development
InfoField
The SVG code is valid .
This vector image was created with Inkscape .
This file uses translateable embedded text.

Licensing

Public domain I, the copyright holder of this work, release this work into the public domain . This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose , without any conditions, unless such conditions are required by law.

Source code ( MATLAB )

% 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;

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

23 January 2008

image/svg+xml

b587fd0fec3d2789558f1505fa0102f6313872d0

35,295 byte

937 pixel

535 pixel