File:Paradoxical decomposition F 2.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(SVG file, nominally 679 × 679 pixels, file size: 308 KB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

Description
English: Illustration for the paradoxical decomposition used in the proof of the Banach–Tarski paradox.
Date
Source Paradoxical decomposition F2.svg
Author Qef
SVG development
InfoField
 
The SVG code is valid.
 
This vector image was created with MetaPost.
Source code
InfoField

PostScript code

metapost-source
Linethickness = 0.5pt;
 
beginfig(1);
  recursion_depth := 6;
  const := 2.2;
 
  picture reds, blues, greens;
  blues := reds := greens := currentpicture;
 
  vardef orbitdots(expr iter, maxiter, xoffset, yoffset, lastg) =
   save offlen;
   offlen := 1.3in/(const**iter);
   if lastg = "":
        addto blues doublepath (xoffset, yoffset) withpen pencircle scaled 2bp withcolor blue;
     if iter <= maxiter:
        orbitdots(iter+1, maxiter, xoffset + offlen, yoffset, "a");
        orbitdots(iter+1, maxiter, xoffset - offlen, yoffset, "a-1"); 
        orbitdots(iter+1, maxiter, xoffset, yoffset + offlen, "b");
        orbitdots(iter+1, maxiter, xoffset, yoffset - offlen, "b-1");
     fi;
   fi;
   if lastg = "a":
        addto greens doublepath (xoffset, yoffset) withpen pencircle scaled 2bp withcolor 0.8green;
     if iter <= maxiter:
        orbitdots(iter+1, maxiter, xoffset + offlen, yoffset, "a");
        orbitdots(iter+1, maxiter, xoffset, yoffset + offlen, "b");
        orbitdots(iter+1, maxiter, xoffset, yoffset - offlen, "b-1");
     fi;
   fi;
   if lastg = "a-1":
        addto reds doublepath (xoffset, yoffset) withpen pencircle scaled 1.2bp withcolor red;
        addto blues doublepath (xoffset, yoffset) withpen pencircle scaled 2bp withcolor blue;
     if iter <= maxiter:
        orbitdots(iter+1, maxiter, xoffset, yoffset + offlen, "b"); 
        orbitdots(iter+1, maxiter, xoffset - offlen, yoffset, "a-1");
        orbitdots(iter+1, maxiter, xoffset, yoffset - offlen, "b-1");
     fi;
   fi;
   if lastg = "b":
        addto blues doublepath (xoffset, yoffset) withpen pencircle scaled 2bp withcolor blue;
     if iter <= maxiter:
        orbitdots(iter+1, maxiter, xoffset + offlen, yoffset, "a");
        orbitdots(iter+1, maxiter, xoffset, yoffset + offlen, "b"); 
        orbitdots(iter+1, maxiter, xoffset - offlen, yoffset, "a-1");
     fi;
   fi;
   if lastg = "b-1":
        addto blues doublepath (xoffset, yoffset) withpen pencircle scaled 2bp withcolor blue;
     if iter <= maxiter:
        orbitdots(iter+1, maxiter, xoffset + offlen, yoffset, "a");
        orbitdots(iter+1, maxiter, xoffset - offlen, yoffset, "a-1");
        orbitdots(iter+1, maxiter, xoffset, yoffset - offlen, "b-1");
     fi;
   fi;
  enddef;
 
  numeric length;
  length := 1.3in / (const**recursion_depth);
 
  pickup pencircle scaled Linethickness;
  picture p, q, r;
 
  for i = 1 upto recursion_depth - 2:
    draw (0,0) -- (length,0);
    draw (0,-length) -- (0,length);
 
    length := length * const;
 
    currentpicture := currentpicture shifted (length,0);
    p := currentpicture rotated 90;
    q := p yscaled -1;
 
    addto currentpicture also p;
    addto currentpicture also q;
  endfor;
 
  draw (0,0) -- (length,0);
  draw (0,-length) -- (0,length);
 
  length := length * const;
 
  currentpicture := currentpicture shifted (length,0);
  p := currentpicture rotated 90;
  q := p yscaled -1;
  r := currentpicture xscaled -1;
 
  addto currentpicture also p;
  addto currentpicture also q;
  addto currentpicture also r;
 
  draw (-length,0) -- (length,0);
  draw (0,-length) -- (0,length);
 
  dotlabel.urt(btex$e$etex, (0,0));
  dotlabel.ulft(btex$a$etex, (length,0));
  dotlabel.lrt(btex$b$etex, (0,length));
 
  label.top(btex$S(a^{-1})$etex, (-1.2length, 0.9length)) withcolor red;
 
  label.bot(btex$aS(a^{-1})$etex, (-1.3length,-0.9length)) withcolor blue;

  label.rt(btex$S(a)$etex, (1.1length,1.1length)) withcolor 0.8green;
 
  orbitdots(1, recursion_depth-2, 0, 0, "");
  addto currentpicture also greens;
  addto currentpicture also blues;
  addto currentpicture also reds;
  currentpicture := currentpicture shifted (10cm,10cm);
  currentpicture := currentpicture scaled 3.5;
endfig;
end;

Data

mptopdf fig.mp
pdf2svg fig-1.pdf fig-1.svg

Licensing[edit]

w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current22:54, 4 October 2015Thumbnail for version as of 22:54, 4 October 2015679 × 679 (308 KB)Damluk (talk | contribs)Add inverse labels
07:52, 4 November 2014Thumbnail for version as of 07:52, 4 November 2014679 × 679 (288 KB)Damluk (talk | contribs)Move blue label a little to the left.
07:48, 4 November 2014Thumbnail for version as of 07:48, 4 November 2014679 × 679 (288 KB)Damluk (talk | contribs)Add third disjoint set S(a)
20:16, 2 November 2014Thumbnail for version as of 20:16, 2 November 2014713 × 679 (277 KB)Damluk (talk | contribs)preserve pretty font.
18:20, 2 November 2014Thumbnail for version as of 18:20, 2 November 2014763 × 729 (261 KB)Damluk (talk | contribs)Corrections regarding shown subsets.
13:18, 2 November 2014Thumbnail for version as of 13:18, 2 November 2014685 × 655 (271 KB)Damluk (talk | contribs)User created page with UploadWizard

There are no pages that use this file.

File usage on other wikis

The following other wikis use this file:

Metadata