Illusions

Some Illusions, created as SVG file:

looks like a wave

	<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1150" height="1150" viewBox="0 0 460 460">
  <rect x="0" y="0" width="460" height="460" fill="yellow" />
  <rect x="0" y="0" width="20" height="20" fill="black" />
  <rect x="20" y="10" width="10" height="10" fill="black" />
  <rect x="50" y="0" width="10" height="10" fill="black" />
  <rect x="60" y="0" width="20" height="20" fill="black" />
  <rect x="80" y="10" width="10" height="10" fill="black" />
  <rect x="110" y="0" width="10" height="10" fill="black" />
  <rect x="120" y="0" width="20" height="20" fill="black" />
  <rect x="140" y="10" width="10" height="10" fill="black" />
  <rect x="170" y="0" width="10" height="10" fill="black" />
  <rect x="180" y="0" width="20" height="20" fill="black" />
  <rect x="200" y="10" width="10" height="10" fill="black" />
  <rect x="230" y="0" width="10" height="10" fill="black" />
  <rect x="240" y="0" width="20" height="20" fill="black" />
  <rect x="260" y="10" width="10" height="10" fill="black" />
  <rect x="290" y="0" width="10" height="10" fill="black" />
  <rect x="300" y="0" width="20" height="20" fill="black" />
  <rect x="320" y="10" width="10" height="10" fill="black" />
  <rect x="350" y="0" width="10" height="10" fill="black" />
  <rect x="360" y="0" width="20" height="20" fill="black" />
  <rect x="380" y="10" width="10" height="10" fill="black" />
  <rect x="410" y="0" width="10" height="10" fill="black" />
  <rect x="420" y="0" width="20" height="20" fill="black" />
  <rect x="440" y="10" width="10" height="10" fill="black" />
  <rect x="10" y="20" width="10" height="10" fill="black" />
  <rect x="20" y="20" width="20" height="20" fill="black" />
  <rect x="40" y="30" width="10" height="10" fill="black" />
  <rect x="70" y="20" width="10" height="10" fill="black" />
  <rect x="80" y="20" width="20" height="20" fill="black" />
  <rect x="100" y="30" width="10" height="10" fill="black" />
  <rect x="130" y="20" width="10" height="10" fill="black" />
  <rect x="140" y="20" width="20" height="20" fill="black" />
  <rect x="160" y="30" width="10" height="10" fill="black" />
  <rect x="190" y="20" width="10" height="10" fill="black" />
  <rect x="200" y="20" width="20" height="20" fill="black" />
  <rect x="220" y="30" width="10" height="10" fill="black" />
  <rect x="250" y="20" width="10" height="10" fill="black" />
  <rect x="260" y="20" width="20" height="20" fill="black" />
  <rect x="280" y="30" width="10" height="10" fill="black" />
  <rect x="310" y="20" width="10" height="10" fill="black" />
  <rect x="320" y="20" width="20" height="20" fill="black" />
  <rect x="340" y="30" width="10" height="10" fill="black" />
  <rect x="370" y="20" width="10" height="10" fill="black" />
  <rect x="380" y="20" width="20" height="20" fill="black" />
  <rect x="400" y="30" width="10" height="10" fill="black" />
  <rect x="430" y="20" width="10" height="10" fill="black" />
  <rect x="440" y="20" width="20" height="20" fill="black" />
  <rect x="0" y="50" width="10" height="10" fill="black" />
  <rect x="30" y="40" width="10" height="10" fill="black" />
  <rect x="40" y="40" width="20" height="20" fill="black" />
  <rect x="60" y="50" width="10" height="10" fill="black" />
  <rect x="90" y="40" width="10" height="10" fill="black" />
  <rect x="100" y="40" width="20" height="20" fill="black" />
  <rect x="120" y="50" width="10" height="10" fill="black" />
  <rect x="150" y="40" width="10" height="10" fill="black" />
  <rect x="160" y="40" width="20" height="20" fill="black" />
  <rect x="180" y="50" width="10" height="10" fill="black" />
  <rect x="210" y="40" width="10" height="10" fill="black" />
  <rect x="220" y="40" width="20" height="20" fill="black" />
  <rect x="240" y="50" width="10" height="10" fill="black" />
  <rect x="270" y="40" width="10" height="10" fill="black" />
  <rect x="280" y="40" width="20" height="20" fill="black" />
  <rect x="300" y="50" width="10" height="10" fill="black" />
  <rect x="330" y="40" width="10" height="10" fill="black" />
  <rect x="340" y="40" width="20" height="20" fill="black" />
  <rect x="360" y="50" width="10" height="10" fill="black" />
  <rect x="390" y="40" width="10" height="10" fill="black" />
  <rect x="400" y="40" width="20" height="20" fill="black" />
  <rect x="420" y="50" width="10" height="10" fill="black" />
  <rect x="450" y="40" width="10" height="10" fill="black" />
  <rect x="0" y="60" width="20" height="20" fill="black" />
  <rect x="20" y="70" width="10" height="10" fill="black" />
  <rect x="50" y="60" width="10" height="10" fill="black" />
  <rect x="60" y="60" width="20" height="20" fill="black" />
  <rect x="80" y="70" width="10" height="10" fill="black" />
  <rect x="110" y="60" width="10" height="10" fill="black" />
  <rect x="120" y="60" width="20" height="20" fill="black" />
  <rect x="140" y="70" width="10" height="10" fill="black" />
  <rect x="170" y="60" width="10" height="10" fill="black" />
  <rect x="180" y="60" width="20" height="20" fill="black" />
  <rect x="200" y="70" width="10" height="10" fill="black" />
  <rect x="230" y="60" width="10" height="10" fill="black" />
  <rect x="240" y="60" width="20" height="20" fill="black" />
  <rect x="260" y="70" width="10" height="10" fill="black" />
  <rect x="290" y="60" width="10" height="10" fill="black" />
  <rect x="300" y="60" width="20" height="20" fill="black" />
  <rect x="320" y="70" width="10" height="10" fill="black" />
  <rect x="350" y="60" width="10" height="10" fill="black" />
  <rect x="360" y="60" width="20" height="20" fill="black" />
  <rect x="380" y="70" width="10" height="10" fill="black" />
  <rect x="410" y="60" width="10" height="10" fill="black" />
  <rect x="420" y="60" width="20" height="20" fill="black" />
  <rect x="440" y="70" width="10" height="10" fill="black" />
  <rect x="10" y="80" width="10" height="10" fill="black" />
  <rect x="20" y="80" width="20" height="20" fill="black" />
  <rect x="40" y="90" width="10" height="10" fill="black" />
  <rect x="70" y="80" width="10" height="10" fill="black" />
  <rect x="80" y="80" width="20" height="20" fill="black" />
  <rect x="100" y="90" width="10" height="10" fill="black" />
  <rect x="130" y="80" width="10" height="10" fill="black" />
  <rect x="140" y="80" width="20" height="20" fill="black" />
  <rect x="160" y="90" width="10" height="10" fill="black" />
  <rect x="190" y="80" width="10" height="10" fill="black" />
  <rect x="200" y="80" width="20" height="20" fill="black" />
  <rect x="220" y="90" width="10" height="10" fill="black" />
  <rect x="250" y="80" width="10" height="10" fill="black" />
  <rect x="260" y="80" width="20" height="20" fill="black" />
  <rect x="280" y="90" width="10" height="10" fill="black" />
  <rect x="310" y="80" width="10" height="10" fill="black" />
  <rect x="320" y="80" width="20" height="20" fill="black" />
  <rect x="340" y="90" width="10" height="10" fill="black" />
  <rect x="370" y="80" width="10" height="10" fill="black" />
  <rect x="380" y="80" width="20" height="20" fill="black" />
  <rect x="400" y="90" width="10" height="10" fill="black" />
  <rect x="430" y="80" width="10" height="10" fill="black" />
  <rect x="440" y="80" width="20" height="20" fill="black" />
  <rect x="0" y="110" width="10" height="10" fill="black" />
  <rect x="30" y="100" width="10" height="10" fill="black" />
  <rect x="40" y="100" width="20" height="20" fill="black" />
  <rect x="60" y="110" width="10" height="10" fill="black" />
  <rect x="90" y="100" width="10" height="10" fill="black" />
  <rect x="100" y="100" width="20" height="20" fill="black" />
  <rect x="150" y="100" width="10" height="20" fill="black" />
  <rect x="160" y="100" width="20" height="20" fill="black" />
  <rect x="210" y="100" width="10" height="20" fill="black" />
  <rect x="220" y="100" width="20" height="20" fill="black" />
  <rect x="270" y="100" width="10" height="20" fill="black" />
  <rect x="280" y="100" width="20" height="20" fill="black" />
  <rect x="330" y="100" width="10" height="20" fill="black" />
  <rect x="340" y="100" width="20" height="20" fill="black" />
  <rect x="360" y="110" width="10" height="10" fill="black" />
  <rect x="390" y="100" width="10" height="10" fill="black" />
  <rect x="400" y="100" width="20" height="20" fill="black" />
  <rect x="420" y="110" width="10" height="10" fill="black" />
  <rect x="450" y="100" width="10" height="10" fill="black" />
  <rect x="0" y="120" width="20" height="20" fill="black" />
  <rect x="20" y="130" width="10" height="10" fill="black" />
  <rect x="50" y="120" width="10" height="10" fill="black" />
  <rect x="60" y="120" width="20" height="20" fill="black" />
  <rect x="80" y="130" width="10" height="10" fill="black" />
  <rect x="130" y="130" width="10" height="10" fill="black" />
  <rect x="140" y="120" width="20" height="20" fill="black" />
  <rect x="160" y="120" width="10" height="10" fill="black" />
  <rect x="190" y="130" width="10" height="10" fill="black" />
  <rect x="200" y="120" width="20" height="20" fill="black" />
  <rect x="220" y="120" width="10" height="10" fill="black" />
  <rect x="250" y="130" width="10" height="10" fill="black" />
  <rect x="260" y="120" width="20" height="20" fill="black" />
  <rect x="280" y="120" width="10" height="10" fill="black" />
  <rect x="310" y="130" width="10" height="10" fill="black" />
  <rect x="320" y="120" width="20" height="20" fill="black" />
  <rect x="340" y="120" width="20" height="10" fill="black" />
  <rect x="360" y="120" width="20" height="20" fill="black" />
  <rect x="380" y="130" width="10" height="10" fill="black" />
  <rect x="410" y="120" width="10" height="10" fill="black" />
  <rect x="420" y="120" width="20" height="20" fill="black" />
  <rect x="440" y="130" width="10" height="10" fill="black" />
  <rect x="10" y="140" width="10" height="10" fill="black" />
  <rect x="20" y="140" width="20" height="20" fill="black" />
  <rect x="40" y="150" width="10" height="10" fill="black" />
  <rect x="70" y="140" width="10" height="10" fill="black" />
  <rect x="80" y="140" width="20" height="20" fill="black" />
  <rect x="100" y="150" width="20" height="10" fill="black" />
  <rect x="120" y="140" width="20" height="20" fill="black" />
  <rect x="140" y="140" width="10" height="10" fill="black" />
  <rect x="170" y="150" width="10" height="10" fill="black" />
  <rect x="180" y="140" width="20" height="20" fill="black" />
  <rect x="200" y="140" width="10" height="10" fill="black" />
  <rect x="230" y="150" width="10" height="10" fill="black" />
  <rect x="240" y="140" width="20" height="20" fill="black" />
  <rect x="260" y="140" width="10" height="10" fill="black" />
  <rect x="290" y="150" width="10" height="10" fill="black" />
  <rect x="300" y="140" width="20" height="20" fill="black" />
  <rect x="320" y="140" width="10" height="10" fill="black" />
  <rect x="370" y="140" width="10" height="10" fill="black" />
  <rect x="380" y="140" width="20" height="20" fill="black" />
  <rect x="400" y="150" width="10" height="10" fill="black" />
  <rect x="430" y="140" width="10" height="10" fill="black" />
  <rect x="440" y="140" width="20" height="20" fill="black" />
  <rect x="0" y="170" width="10" height="10" fill="black" />
  <rect x="30" y="160" width="10" height="10" fill="black" />
  <rect x="40" y="160" width="20" height="20" fill="black" />
  <rect x="60" y="170" width="10" height="10" fill="black" />
  <rect x="90" y="160" width="10" height="10" fill="black" />
  <rect x="100" y="160" width="20" height="20" fill="black" />
  <rect x="120" y="160" width="10" height="10" fill="black" />
  <rect x="150" y="170" width="10" height="10" fill="black" />
  <rect x="160" y="160" width="20" height="20" fill="black" />
  <rect x="180" y="160" width="10" height="10" fill="black" />
  <rect x="210" y="170" width="10" height="10" fill="black" />
  <rect x="220" y="160" width="20" height="20" fill="black" />
  <rect x="240" y="160" width="10" height="10" fill="black" />
  <rect x="270" y="170" width="10" height="10" fill="black" />
  <rect x="280" y="160" width="20" height="20" fill="black" />
  <rect x="300" y="160" width="10" height="10" fill="black" />
  <rect x="330" y="170" width="10" height="10" fill="black" />
  <rect x="340" y="160" width="20" height="20" fill="black" />
  <rect x="360" y="170" width="10" height="10" fill="black" />
  <rect x="390" y="160" width="10" height="10" fill="black" />
  <rect x="400" y="160" width="20" height="20" fill="black" />
  <rect x="420" y="170" width="10" height="10" fill="black" />
  <rect x="450" y="160" width="10" height="10" fill="black" />
  <rect x="0" y="180" width="20" height="20" fill="black" />
  <rect x="20" y="190" width="10" height="10" fill="black" />
  <rect x="50" y="180" width="10" height="10" fill="black" />
  <rect x="60" y="180" width="20" height="20" fill="black" />
  <rect x="80" y="190" width="10" height="10" fill="black" />
  <rect x="130" y="190" width="10" height="10" fill="black" />
  <rect x="140" y="180" width="20" height="20" fill="black" />
  <rect x="160" y="180" width="10" height="10" fill="black" />
  <rect x="190" y="190" width="10" height="10" fill="black" />
  <rect x="200" y="180" width="20" height="20" fill="black" />
  <rect x="220" y="180" width="10" height="10" fill="black" />
  <rect x="250" y="190" width="10" height="10" fill="black" />
  <rect x="260" y="180" width="20" height="20" fill="black" />
  <rect x="280" y="180" width="10" height="10" fill="black" />
  <rect x="310" y="190" width="10" height="10" fill="black" />
  <rect x="320" y="180" width="20" height="20" fill="black" />
  <rect x="340" y="180" width="20" height="10" fill="black" />
  <rect x="360" y="180" width="20" height="20" fill="black" />
  <rect x="380" y="190" width="10" height="10" fill="black" />
  <rect x="410" y="180" width="10" height="10" fill="black" />
  <rect x="420" y="180" width="20" height="20" fill="black" />
  <rect x="440" y="190" width="10" height="10" fill="black" />
  <rect x="10" y="200" width="10" height="10" fill="black" />
  <rect x="20" y="200" width="20" height="20" fill="black" />
  <rect x="40" y="210" width="10" height="10" fill="black" />
  <rect x="70" y="200" width="10" height="10" fill="black" />
  <rect x="80" y="200" width="20" height="20" fill="black" />
  <rect x="100" y="210" width="20" height="10" fill="black" />
  <rect x="120" y="200" width="20" height="20" fill="black" />
  <rect x="140" y="200" width="10" height="10" fill="black" />
  <rect x="170" y="210" width="10" height="10" fill="black" />
  <rect x="180" y="200" width="20" height="20" fill="black" />
  <rect x="200" y="200" width="10" height="10" fill="black" />
  <rect x="230" y="210" width="10" height="10" fill="black" />
  <rect x="240" y="200" width="20" height="20" fill="black" />
  <rect x="260" y="200" width="10" height="10" fill="black" />
  <rect x="290" y="210" width="10" height="10" fill="black" />
  <rect x="300" y="200" width="20" height="20" fill="black" />
  <rect x="320" y="200" width="10" height="10" fill="black" />
  <rect x="370" y="200" width="10" height="10" fill="black" />
  <rect x="380" y="200" width="20" height="20" fill="black" />
  <rect x="400" y="210" width="10" height="10" fill="black" />
  <rect x="430" y="200" width="10" height="10" fill="black" />
  <rect x="440" y="200" width="20" height="20" fill="black" />
  <rect x="0" y="230" width="10" height="10" fill="black" />
  <rect x="30" y="220" width="10" height="10" fill="black" />
  <rect x="40" y="220" width="20" height="20" fill="black" />
  <rect x="60" y="230" width="10" height="10" fill="black" />
  <rect x="90" y="220" width="10" height="10" fill="black" />
  <rect x="100" y="220" width="20" height="20" fill="black" />
  <rect x="120" y="220" width="10" height="10" fill="black" />
  <rect x="150" y="230" width="10" height="10" fill="black" />
  <rect x="160" y="220" width="20" height="20" fill="black" />
  <rect x="180" y="220" width="10" height="10" fill="black" />
  <rect x="210" y="230" width="10" height="10" fill="black" />
  <rect x="220" y="220" width="20" height="20" fill="black" />
  <rect x="240" y="220" width="10" height="10" fill="black" />
  <rect x="270" y="230" width="10" height="10" fill="black" />
  <rect x="280" y="220" width="20" height="20" fill="black" />
  <rect x="300" y="220" width="10" height="10" fill="black" />
  <rect x="330" y="230" width="10" height="10" fill="black" />
  <rect x="340" y="220" width="20" height="20" fill="black" />
  <rect x="360" y="230" width="10" height="10" fill="black" />
  <rect x="390" y="220" width="10" height="10" fill="black" />
  <rect x="400" y="220" width="20" height="20" fill="black" />
  <rect x="420" y="230" width="10" height="10" fill="black" />
  <rect x="450" y="220" width="10" height="10" fill="black" />
  <rect x="0" y="240" width="20" height="20" fill="black" />
  <rect x="20" y="250" width="10" height="10" fill="black" />
  <rect x="50" y="240" width="10" height="10" fill="black" />
  <rect x="60" y="240" width="20" height="20" fill="black" />
  <rect x="80" y="250" width="10" height="10" fill="black" />
  <rect x="130" y="250" width="10" height="10" fill="black" />
  <rect x="140" y="240" width="20" height="20" fill="black" />
  <rect x="160" y="240" width="10" height="10" fill="black" />
  <rect x="190" y="250" width="10" height="10" fill="black" />
  <rect x="200" y="240" width="20" height="20" fill="black" />
  <rect x="220" y="240" width="10" height="10" fill="black" />
  <rect x="250" y="250" width="10" height="10" fill="black" />
  <rect x="260" y="240" width="20" height="20" fill="black" />
  <rect x="280" y="240" width="10" height="10" fill="black" />
  <rect x="310" y="250" width="10" height="10" fill="black" />
  <rect x="320" y="240" width="20" height="20" fill="black" />
  <rect x="340" y="240" width="20" height="10" fill="black" />
  <rect x="360" y="240" width="20" height="20" fill="black" />
  <rect x="380" y="250" width="10" height="10" fill="black" />
  <rect x="410" y="240" width="10" height="10" fill="black" />
  <rect x="420" y="240" width="20" height="20" fill="black" />
  <rect x="440" y="250" width="10" height="10" fill="black" />
  <rect x="10" y="260" width="10" height="10" fill="black" />
  <rect x="20" y="260" width="20" height="20" fill="black" />
  <rect x="40" y="270" width="10" height="10" fill="black" />
  <rect x="70" y="260" width="10" height="10" fill="black" />
  <rect x="80" y="260" width="20" height="20" fill="black" />
  <rect x="100" y="270" width="20" height="10" fill="black" />
  <rect x="120" y="260" width="20" height="20" fill="black" />
  <rect x="140" y="260" width="10" height="10" fill="black" />
  <rect x="170" y="270" width="10" height="10" fill="black" />
  <rect x="180" y="260" width="20" height="20" fill="black" />
  <rect x="200" y="260" width="10" height="10" fill="black" />
  <rect x="230" y="270" width="10" height="10" fill="black" />
  <rect x="240" y="260" width="20" height="20" fill="black" />
  <rect x="260" y="260" width="10" height="10" fill="black" />
  <rect x="290" y="270" width="10" height="10" fill="black" />
  <rect x="300" y="260" width="20" height="20" fill="black" />
  <rect x="320" y="260" width="10" height="10" fill="black" />
  <rect x="370" y="260" width="10" height="10" fill="black" />
  <rect x="380" y="260" width="20" height="20" fill="black" />
  <rect x="400" y="270" width="10" height="10" fill="black" />
  <rect x="430" y="260" width="10" height="10" fill="black" />
  <rect x="440" y="260" width="20" height="20" fill="black" />
  <rect x="0" y="290" width="10" height="10" fill="black" />
  <rect x="30" y="280" width="10" height="10" fill="black" />
  <rect x="40" y="280" width="20" height="20" fill="black" />
  <rect x="60" y="290" width="10" height="10" fill="black" />
  <rect x="90" y="280" width="10" height="10" fill="black" />
  <rect x="100" y="280" width="20" height="20" fill="black" />
  <rect x="120" y="280" width="10" height="10" fill="black" />
  <rect x="150" y="290" width="10" height="10" fill="black" />
  <rect x="160" y="280" width="20" height="20" fill="black" />
  <rect x="180" y="280" width="10" height="10" fill="black" />
  <rect x="210" y="290" width="10" height="10" fill="black" />
  <rect x="220" y="280" width="20" height="20" fill="black" />
  <rect x="240" y="280" width="10" height="10" fill="black" />
  <rect x="270" y="290" width="10" height="10" fill="black" />
  <rect x="280" y="280" width="20" height="20" fill="black" />
  <rect x="300" y="280" width="10" height="10" fill="black" />
  <rect x="330" y="290" width="10" height="10" fill="black" />
  <rect x="340" y="280" width="20" height="20" fill="black" />
  <rect x="360" y="290" width="10" height="10" fill="black" />
  <rect x="390" y="280" width="10" height="10" fill="black" />
  <rect x="400" y="280" width="20" height="20" fill="black" />
  <rect x="420" y="290" width="10" height="10" fill="black" />
  <rect x="450" y="280" width="10" height="10" fill="black" />
  <rect x="0" y="300" width="20" height="20" fill="black" />
  <rect x="20" y="310" width="10" height="10" fill="black" />
  <rect x="50" y="300" width="10" height="10" fill="black" />
  <rect x="60" y="300" width="20" height="20" fill="black" />
  <rect x="80" y="310" width="10" height="10" fill="black" />
  <rect x="130" y="310" width="10" height="10" fill="black" />
  <rect x="140" y="300" width="20" height="20" fill="black" />
  <rect x="160" y="300" width="10" height="10" fill="black" />
  <rect x="190" y="310" width="10" height="10" fill="black" />
  <rect x="200" y="300" width="20" height="20" fill="black" />
  <rect x="220" y="300" width="10" height="10" fill="black" />
  <rect x="250" y="310" width="10" height="10" fill="black" />
  <rect x="260" y="300" width="20" height="20" fill="black" />
  <rect x="280" y="300" width="10" height="10" fill="black" />
  <rect x="310" y="310" width="10" height="10" fill="black" />
  <rect x="320" y="300" width="20" height="20" fill="black" />
  <rect x="340" y="300" width="20" height="10" fill="black" />
  <rect x="360" y="300" width="20" height="20" fill="black" />
  <rect x="380" y="310" width="10" height="10" fill="black" />
  <rect x="410" y="300" width="10" height="10" fill="black" />
  <rect x="420" y="300" width="20" height="20" fill="black" />
  <rect x="440" y="310" width="10" height="10" fill="black" />
  <rect x="10" y="320" width="10" height="10" fill="black" />
  <rect x="20" y="320" width="20" height="20" fill="black" />
  <rect x="40" y="330" width="10" height="10" fill="black" />
  <rect x="70" y="320" width="10" height="10" fill="black" />
  <rect x="80" y="320" width="20" height="20" fill="black" />
  <rect x="100" y="330" width="20" height="10" fill="black" />
  <rect x="120" y="320" width="20" height="20" fill="black" />
  <rect x="140" y="320" width="10" height="10" fill="black" />
  <rect x="170" y="330" width="10" height="10" fill="black" />
  <rect x="180" y="320" width="20" height="20" fill="black" />
  <rect x="200" y="320" width="10" height="10" fill="black" />
  <rect x="230" y="330" width="10" height="10" fill="black" />
  <rect x="240" y="320" width="20" height="20" fill="black" />
  <rect x="260" y="320" width="10" height="10" fill="black" />
  <rect x="290" y="330" width="10" height="10" fill="black" />
  <rect x="300" y="320" width="20" height="20" fill="black" />
  <rect x="320" y="320" width="10" height="10" fill="black" />
  <rect x="370" y="320" width="10" height="10" fill="black" />
  <rect x="380" y="320" width="20" height="20" fill="black" />
  <rect x="400" y="330" width="10" height="10" fill="black" />
  <rect x="430" y="320" width="10" height="10" fill="black" />
  <rect x="440" y="320" width="20" height="20" fill="black" />
  <rect x="0" y="350" width="10" height="10" fill="black" />
  <rect x="30" y="340" width="10" height="10" fill="black" />
  <rect x="40" y="340" width="20" height="20" fill="black" />
  <rect x="60" y="350" width="10" height="10" fill="black" />
  <rect x="90" y="340" width="10" height="10" fill="black" />
  <rect x="100" y="340" width="20" height="20" fill="black" />
  <rect x="120" y="340" width="10" height="20" fill="black" />
  <rect x="160" y="340" width="20" height="20" fill="black" />
  <rect x="180" y="340" width="10" height="20" fill="black" />
  <rect x="220" y="340" width="20" height="20" fill="black" />
  <rect x="240" y="340" width="10" height="20" fill="black" />
  <rect x="280" y="340" width="20" height="20" fill="black" />
  <rect x="300" y="340" width="10" height="20" fill="black" />
  <rect x="340" y="340" width="20" height="20" fill="black" />
  <rect x="360" y="350" width="10" height="10" fill="black" />
  <rect x="390" y="340" width="10" height="10" fill="black" />
  <rect x="400" y="340" width="20" height="20" fill="black" />
  <rect x="420" y="350" width="10" height="10" fill="black" />
  <rect x="450" y="340" width="10" height="10" fill="black" />
  <rect x="0" y="360" width="20" height="20" fill="black" />
  <rect x="20" y="370" width="10" height="10" fill="black" />
  <rect x="50" y="360" width="10" height="10" fill="black" />
  <rect x="60" y="360" width="20" height="20" fill="black" />
  <rect x="80" y="370" width="10" height="10" fill="black" />
  <rect x="110" y="360" width="10" height="10" fill="black" />
  <rect x="120" y="360" width="20" height="20" fill="black" />
  <rect x="140" y="370" width="10" height="10" fill="black" />
  <rect x="170" y="360" width="10" height="10" fill="black" />
  <rect x="180" y="360" width="20" height="20" fill="black" />
  <rect x="200" y="370" width="10" height="10" fill="black" />
  <rect x="230" y="360" width="10" height="10" fill="black" />
  <rect x="240" y="360" width="20" height="20" fill="black" />
  <rect x="260" y="370" width="10" height="10" fill="black" />
  <rect x="290" y="360" width="10" height="10" fill="black" />
  <rect x="300" y="360" width="20" height="20" fill="black" />
  <rect x="320" y="370" width="10" height="10" fill="black" />
  <rect x="350" y="360" width="10" height="10" fill="black" />
  <rect x="360" y="360" width="20" height="20" fill="black" />
  <rect x="380" y="370" width="10" height="10" fill="black" />
  <rect x="410" y="360" width="10" height="10" fill="black" />
  <rect x="420" y="360" width="20" height="20" fill="black" />
  <rect x="440" y="370" width="10" height="10" fill="black" />
  <rect x="10" y="380" width="10" height="10" fill="black" />
  <rect x="20" y="380" width="20" height="20" fill="black" />
  <rect x="40" y="390" width="10" height="10" fill="black" />
  <rect x="70" y="380" width="10" height="10" fill="black" />
  <rect x="80" y="380" width="20" height="20" fill="black" />
  <rect x="100" y="390" width="10" height="10" fill="black" />
  <rect x="130" y="380" width="10" height="10" fill="black" />
  <rect x="140" y="380" width="20" height="20" fill="black" />
  <rect x="160" y="390" width="10" height="10" fill="black" />
  <rect x="190" y="380" width="10" height="10" fill="black" />
  <rect x="200" y="380" width="20" height="20" fill="black" />
  <rect x="220" y="390" width="10" height="10" fill="black" />
  <rect x="250" y="380" width="10" height="10" fill="black" />
  <rect x="260" y="380" width="20" height="20" fill="black" />
  <rect x="280" y="390" width="10" height="10" fill="black" />
  <rect x="310" y="380" width="10" height="10" fill="black" />
  <rect x="320" y="380" width="20" height="20" fill="black" />
  <rect x="340" y="390" width="10" height="10" fill="black" />
  <rect x="370" y="380" width="10" height="10" fill="black" />
  <rect x="380" y="380" width="20" height="20" fill="black" />
  <rect x="400" y="390" width="10" height="10" fill="black" />
  <rect x="430" y="380" width="10" height="10" fill="black" />
  <rect x="440" y="380" width="20" height="20" fill="black" />
  <rect x="0" y="410" width="10" height="10" fill="black" />
  <rect x="30" y="400" width="10" height="10" fill="black" />
  <rect x="40" y="400" width="20" height="20" fill="black" />
  <rect x="60" y="410" width="10" height="10" fill="black" />
  <rect x="90" y="400" width="10" height="10" fill="black" />
  <rect x="100" y="400" width="20" height="20" fill="black" />
  <rect x="120" y="410" width="10" height="10" fill="black" />
  <rect x="150" y="400" width="10" height="10" fill="black" />
  <rect x="160" y="400" width="20" height="20" fill="black" />
  <rect x="180" y="410" width="10" height="10" fill="black" />
  <rect x="210" y="400" width="10" height="10" fill="black" />
  <rect x="220" y="400" width="20" height="20" fill="black" />
  <rect x="240" y="410" width="10" height="10" fill="black" />
  <rect x="270" y="400" width="10" height="10" fill="black" />
  <rect x="280" y="400" width="20" height="20" fill="black" />
  <rect x="300" y="410" width="10" height="10" fill="black" />
  <rect x="330" y="400" width="10" height="10" fill="black" />
  <rect x="340" y="400" width="20" height="20" fill="black" />
  <rect x="360" y="410" width="10" height="10" fill="black" />
  <rect x="390" y="400" width="10" height="10" fill="black" />
  <rect x="400" y="400" width="20" height="20" fill="black" />
  <rect x="420" y="410" width="10" height="10" fill="black" />
  <rect x="450" y="400" width="10" height="10" fill="black" />
  <rect x="0" y="420" width="20" height="20" fill="black" />
  <rect x="20" y="430" width="10" height="10" fill="black" />
  <rect x="50" y="420" width="10" height="10" fill="black" />
  <rect x="60" y="420" width="20" height="20" fill="black" />
  <rect x="80" y="430" width="10" height="10" fill="black" />
  <rect x="110" y="420" width="10" height="10" fill="black" />
  <rect x="120" y="420" width="20" height="20" fill="black" />
  <rect x="140" y="430" width="10" height="10" fill="black" />
  <rect x="170" y="420" width="10" height="10" fill="black" />
  <rect x="180" y="420" width="20" height="20" fill="black" />
  <rect x="200" y="430" width="10" height="10" fill="black" />
  <rect x="230" y="420" width="10" height="10" fill="black" />
  <rect x="240" y="420" width="20" height="20" fill="black" />
  <rect x="260" y="430" width="10" height="10" fill="black" />
  <rect x="290" y="420" width="10" height="10" fill="black" />
  <rect x="300" y="420" width="20" height="20" fill="black" />
  <rect x="320" y="430" width="10" height="10" fill="black" />
  <rect x="350" y="420" width="10" height="10" fill="black" />
  <rect x="360" y="420" width="20" height="20" fill="black" />
  <rect x="380" y="430" width="10" height="10" fill="black" />
  <rect x="410" y="420" width="10" height="10" fill="black" />
  <rect x="420" y="420" width="20" height="20" fill="black" />
  <rect x="440" y="430" width="10" height="10" fill="black" />
  <rect x="10" y="440" width="10" height="10" fill="black" />
  <rect x="20" y="440" width="20" height="20" fill="black" />
  <rect x="40" y="450" width="10" height="10" fill="black" />
  <rect x="70" y="440" width="10" height="10" fill="black" />
  <rect x="80" y="440" width="20" height="20" fill="black" />
  <rect x="100" y="450" width="10" height="10" fill="black" />
  <rect x="130" y="440" width="10" height="10" fill="black" />
  <rect x="140" y="440" width="20" height="20" fill="black" />
  <rect x="160" y="450" width="10" height="10" fill="black" />
  <rect x="190" y="440" width="10" height="10" fill="black" />
  <rect x="200" y="440" width="20" height="20" fill="black" />
  <rect x="220" y="450" width="10" height="10" fill="black" />
  <rect x="250" y="440" width="10" height="10" fill="black" />
  <rect x="260" y="440" width="20" height="20" fill="black" />
  <rect x="280" y="450" width="10" height="10" fill="black" />
  <rect x="310" y="440" width="10" height="10" fill="black" />
  <rect x="320" y="440" width="20" height="20" fill="black" />
  <rect x="340" y="450" width="10" height="10" fill="black" />
  <rect x="370" y="440" width="10" height="10" fill="black" />
  <rect x="380" y="440" width="20" height="20" fill="black" />
  <rect x="400" y="450" width="10" height="10" fill="black" />
  <rect x="430" y="440" width="10" height="10" fill="black" />
  <rect x="440" y="440" width="20" height="20" fill="black" />
  <line x1="0" y1="0" x2="460" y2="0" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="20" x2="460" y2="20" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="40" x2="460" y2="40" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="60" x2="460" y2="60" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="80" x2="460" y2="80" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="100" x2="460" y2="100" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="120" x2="460" y2="120" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="140" x2="460" y2="140" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="160" x2="460" y2="160" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="180" x2="460" y2="180" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="200" x2="460" y2="200" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="220" x2="460" y2="220" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="240" x2="460" y2="240" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="260" x2="460" y2="260" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="280" x2="460" y2="280" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="300" x2="460" y2="300" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="320" x2="460" y2="320" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="340" x2="460" y2="340" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="360" x2="460" y2="360" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="380" x2="460" y2="380" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="400" x2="460" y2="400" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="420" x2="460" y2="420" style="stroke:blue;stroke-width:0.7"/>
  <line x1="0" y1="440" x2="460" y2="440" style="stroke:blue;stroke-width:0.7"/>
  <line y1="0" x1="0" y2="460" x2="0" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="20" y2="460" x2="20" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="40" y2="460" x2="40" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="60" y2="460" x2="60" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="80" y2="460" x2="80" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="100" y2="460" x2="100" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="120" y2="460" x2="120" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="140" y2="460" x2="140" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="160" y2="460" x2="160" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="180" y2="460" x2="180" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="200" y2="460" x2="200" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="220" y2="460" x2="220" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="240" y2="460" x2="240" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="260" y2="460" x2="260" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="280" y2="460" x2="280" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="300" y2="460" x2="300" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="320" y2="460" x2="320" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="340" y2="460" x2="340" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="360" y2="460" x2="360" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="380" y2="460" x2="380" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="400" y2="460" x2="400" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="420" y2="460" x2="420" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
  <line y1="0" x1="440" y2="460" x2="440" style="stroke:rgb(255,0,0);stroke-width:0.7"/>
</svg>

	

looks like a streched inner quad


How to build it

For the first image, we constuct first a set of full parts ( █ ). Full parts are on xy position modolo 3. In the inner quad, the y orientation is just flipped. see private boolean set().
█ • • █ • • █ • • █ • • █ • • █ • • █ • • █ •
• █ • • █ • • █ • • █ • • █ • • █ • • █ • • █
• • █ • • █ • • █ • • █ • • █ • • █ • • █ • •
█ • • █ • • █ • • █ • • █ • • █ • • █ • • █ •
• █ • • █ • • █ • • █ • • █ • • █ • • █ • • █
• • █ • • █ • • █ • • █ • • █ • • █ • • █ • •
█ • • █ • • • █ • • █ • • █ • • █ • █ • • █ •
• █ • • █ • █ • • █ • • █ • • █ • • • █ • • █
• • █ • • █ • • █ • • █ • • █ • • █ • • █ • •
█ • • █ • • • █ • • █ • • █ • • █ • █ • • █ •
• █ • • █ • █ • • █ • • █ • • █ • • • █ • • █
• • █ • • █ • • █ • • █ • • █ • • █ • • █ • •
█ • • █ • • • █ • • █ • • █ • • █ • █ • • █ •
• █ • • █ • █ • • █ • • █ • • █ • • • █ • • █
• • █ • • █ • • █ • • █ • • █ • • █ • • █ • •
█ • • █ • • • █ • • █ • • █ • • █ • █ • • █ •
• █ • • █ • █ • • █ • • █ • • █ • • • █ • • █
• • █ • • █ • • █ • • █ • • █ • • █ • • █ • •
█ • • █ • • █ • • █ • • █ • • █ • • █ • • █ •
• █ • • █ • • █ • • █ • • █ • • █ • • █ • • █
• • █ • • █ • • █ • • █ • • █ • • █ • • █ • •
█ • • █ • • █ • • █ • • █ • • █ • • █ • • █ •
• █ • • █ • • █ • • █ • • █ • • █ • • █ • • █
Next we look at empty spaces. Depending on the environment (up,down,left,right) we add 4 quater Boxes (└ ┐ ┌ ┘) or 4 half boxes (║ ═ ─ │) or keep the space (•).
█ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └
┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █
└ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐
█ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └
┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █
└ ┐ █ └ ┐ █ • ║ █ • ║ █ • ║ █ • ║ █ └ ┐ █ └ ┐
█ └ ┐ █ └ • ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ─ █ └ ┐ █ └
┐ █ └ ┐ █ ═ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ • ┐ █ └ ┐ █
└ ┐ █ └ ┐ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ └ ┐ █ └ ┐
█ └ ┐ █ └ • ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ─ █ └ ┐ █ └
┐ █ └ ┐ █ ═ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ • ┐ █ └ ┐ █
└ ┐ █ └ ┐ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ └ ┐ █ └ ┐
█ └ ┐ █ └ • ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ─ █ └ ┐ █ └
┐ █ └ ┐ █ ═ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ • ┐ █ └ ┐ █
└ ┐ █ └ ┐ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ └ ┐ █ └ ┐
█ └ ┐ █ └ • ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ─ █ └ ┐ █ └
┐ █ └ ┐ █ ═ █ ┌ ┘ █ ┌ ┘ █ ┌ ┘ █ ┌ • ┐ █ └ ┐ █
└ ┐ █ └ ┐ █ │ • █ │ • █ │ • █ │ • █ └ ┐ █ └ ┐
█ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └
┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █
└ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐
█ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └
┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █ └ ┐ █

	package optillu;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;

/**
 *
 * @author Rolf
 */
public class OptIllu {

    int DX;   // outer X/Y
    int IX;    // inner X/Y

    private final int X;
    private final int Y;
    private final int DY;
    private final char ch = ' ';
    private char board[][] = null;

    private final char SymUpperLeft = '┌';
    private final char SymUpperRight = '┐';
    private final char SymLowerLeft = '└';
    private final char SymLowerRight = '┘';

    private final char SymLeft = '│';
    private final char SymRight = '║';

    private final char SymFull = '█';
    private final char SymLower = '═';
    private final char SymUpper = '─';
    private final char SymFree = '•';

    private StringBuffer sb = null;

    private boolean set(int x, int y) {
        // set the main full chars here
        int probe = x + y * Y;
        if (x >= DX && x < X - DX && y >= DY && y < Y - DY) // flip result
        {
            probe = x + (Y - y + 2) * Y;
        }

        return (probe % 3 == 0);
    }

    public void disp() {
        // just display the created board
        for (int y = 0; y < Y; y++) {
            for (int x = 0; x < X; x++) {
                System.out.print(board[x][y]+"  ");
            }
            System.out.println();
        }
    }

    private boolean isSet(int x, int y) {
        // check, if at given position the board is set
        if (x >= 0 && x < X && y >= 0 && y < Y) {
            return board[x][y] == SymFull;
        }
        if (x < 0) {
            return (isSet(x + 3, y));
        }
        if (y < 0) {
            return (isSet(x, y + 3));
        }
        if (x >= X) {
            return (isSet(x - 3, y));
        }
        if (y >= Y) {
            return (isSet(x, y - 3));
        }
        return false;
    }

    private char getFill(int x, int y) {
        // get the fill chars between the full set 
        // check upper,lower,left,right position and setup cnt
        //   4
        //  1 32  2
        //   8

        int cnt = 0;
        if (isSet(x - 1, y)) {
            cnt = 1;
        }
        if (isSet(x + 1, y)) {
            cnt = cnt + 2;
        }
        if (isSet(x, y - 1)) {
            cnt = cnt + 4;
        }
        if (isSet(x, y + 1)) {
            cnt = cnt + 8;
        }
        if (isSet(x, y)) {
            cnt = 32;
        }

        switch (cnt) {
            case 1:
            case 2:
            case 4:
            case 8:
                return SymFree;
            case 5:
                return SymUpperLeft;
            case 6:
                return SymUpperRight;
            case 9:
                return SymLowerLeft;
            case 10:
                return SymLowerRight;
            case 13:
                return SymLeft;
            case 14:
                return SymRight;
            case 7:
                return SymUpper;
            case 11:
                return SymLower;
            case 32:
                return SymFull;
        }
        return '?';
    }

    private void fill() {
        // try to setup free positions between full fill chars
        for (int y = 0; y < Y; y++) {
            for (int x = 0; x < X; x++) {
                board[x][y] = getFill(x, y);
            }
        }
    }

    // constutor method
    public OptIllu(int DX, int IX) {
        // intialize our board
        this.DX = DX;
        this.IX = IX;
        X = DX + DX + IX;
        Y = X;
        DY = DX;

        board = new char[X][Y];
        for (int y = 0; y < Y; y++) {
            for (int x = 0; x < X; x++) {
                if (set(x, y)) {
                    board[x][y] = SymFull;
                } else {
                    board[x][y] = '•';
                }
            }
        }
        disp();
        fill();
    }

    // append all to stringbuffer, which is finally saved
    private void out(String s) {
        sb.append(s);
    }

    private void box(int x, int y, int dx, String color, String color2, boolean orienation) {
        out("  <rect x=\"" + ((dx + dx) * x) + "\" y=\"" + (dx + dx) * y + "\" width=\"" + (dx + dx) + "\" height=\"" + (dx + dx) + "\" fill=" + color + " />\n");

        if (!orienation) {
            out("  <rect x=\"" + ((dx + dx) * x + 1) + "\" y=\"" + ((dx + dx) * y + 1) + "\" width=\"" + (dx / 2) + "\" height=\"" + (dx / 2) + "\" fill=" + color2 + " />\n");
            out("  <rect x=\"" + ((dx + dx) * (x + 1) - dx/2 -1) + "\" y=\"" + ((dx + dx) * (y + 1) - dx/2 -1 ) + "\" width=\"" + (dx / 2) + "\" height=\"" + (dx / 2) + "\" fill=" + color2 + " />\n");
        } else {
            out("  <rect x=\"" + ((dx + dx) * (x + 1) - dx/2 -1) + "\" y=\"" + ((dx + dx) * y + 1) + "\" width=\"" + (dx / 2) + "\" height=\"" + (dx / 2) + "\" fill=" + color2 + " />\n");
            out("  <rect x=\"" + ((dx + dx) * x + 1) + "\" y=\"" + ((dx + dx) * (y + 1) - dx/2 -1) + "\" width=\"" + (dx / 2) + "\" height=\"" + (dx / 2) + "\" fill=" + color2 + " />\n");
        }
    }

    public void createSVG(int opt) {
        sb = new StringBuffer();
        String color = "\"black\"";
        String color2 = "\"yellow\"";
        int dx = 10;
        out("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
        out("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"" + (dx + dx) * X + "\" height=\"" + (dx + dx) * Y + "\">\n");

        out("  <rect x=\"0\" y=\"0\" width=\"" + (dx + dx) * X + "\" height=\"" + (dx + dx) * X + "\" fill=" + color2 + " />\n");

        for (int y = 0; y < Y; y++) {
            for (int x = 0; x < X; x++) {
                if (opt == 1) {
                    //if ((x==DX || x==X-DX-1) && (y == DY|| y== Y-DY-1)); else
                    switch (board[x][y]) {
                        case SymUpperLeft:
                            out("  <rect x=\"" + ((dx + dx) * x) + "\" y=\"" + (dx + dx) * y + "\" width=\"" + dx + "\" height=\"" + dx + "\" fill=" + color + " />\n");
                            break;
                        case SymUpperRight:
                            out("  <rect x=\"" + ((dx + dx) * x + dx) + "\" y=\"" + (dx + dx) * y + "\" width=\"" + dx + "\" height=\"" + dx + "\" fill=" + color + " />\n");
                            break;
                        case SymLowerLeft:
                            out("  <rect x=\"" + ((dx + dx) * x) + "\" y=\"" + ((dx + dx) * y + dx) + "\" width=\"" + dx + "\" height=\"" + dx + "\" fill=" + color + " />\n");
                            break;
                        case SymLowerRight:
                            out("  <rect x=\"" + ((dx + dx) * x + dx) + "\" y=\"" + ((dx + dx) * y + dx) + "\" width=\"" + dx + "\" height=\"" + dx + "\" fill=" + color + " />\n");
                            break;
                        case SymLower:
                            out("  <rect x=\"" + ((dx + dx) * x) + "\" y=\"" + ((dx + dx) * y + dx) + "\" width=\"" + (dx + dx) + "\" height=\"" + dx + "\" fill=" + color + " />\n");
                            break;
                        case SymUpper:
                            out("  <rect x=\"" + ((dx + dx) * x) + "\" y=\"" + ((dx + dx) * y) + "\" width=\"" + (dx + dx) + "\" height=\"" + dx + "\" fill=" + color + " />\n");
                            break;
                        case SymLeft:
                            out("  <rect x=\"" + ((dx + dx) * x) + "\" y=\"" + (dx + dx) * y + "\" width=\"" + dx + "\" height=\"" + (dx + dx) + "\" fill=" + color + " />\n");
                            break;
                        case SymRight:
                            out("  <rect x=\"" + ((dx + dx) * x + dx) + "\" y=\"" + ((dx + dx) * y) + "\" width=\"" + dx + "\" height=\"" + (dx + dx) + "\" fill=" + color + " />\n");
                            break;
                        case SymFull:
                            out("  <rect x=\"" + ((dx + dx) * x) + "\" y=\"" + (dx + dx) * y + "\" width=\"" + (dx + dx) + "\" height=\"" + (dx + dx) + "\" fill=" + color + " />\n");
                            break;
                    }
                }
                if (opt == 2) {
                    if ((x == DX || x == Y - DX - 1) && (y >= DY && y < Y - DY)
                            || (y == DY || y == X - DY - 1) && (x >= DX && x < X - DX)) {
                        // inner Border
                        if ((x + y) % 2 == 0) {
                            box(x, y, dx, color, color, false);
                        } 
                    } else {
                        boolean orienation = (x > DX && x < X - DX && y > DY && y < Y - DY);
                        if ((x + y) % 2 == 0) {
                            box(x, y, dx, color, color2, orienation);

                        } else {
                            box(x, y, dx, color2, color, orienation);
                        }
                    }
                }
            }
        }
        if (opt == 1) {
            for (int y = 0; y < Y; y++) {
                out("  <line x1=\"0\" y1=\"" + y * (dx + dx) + "\" x2=\"" + X * (dx + dx) + "\" y2=\"" + y * (dx + dx) + "\" style=\"stroke:blue;stroke-width:0.7\"/>\n");
            }
            for (int x = 0; x < X; x++) {
                out("  <line y1=\"0\" x1=\"" + x * (dx + dx) + "\" y2=\"" + X * (dx + dx) + "\" x2=\"" + x * (dx + dx) + "\" style=\"stroke:rgb(255,0,0);stroke-width:0.7\"/>\n");
            }
        }
        out("</svg>\n");
    }

    private void saveSVG(String fn) throws FileNotFoundException, UnsupportedEncodingException {
        // just save it 
        PrintWriter writer = new PrintWriter(fn, "UTF-8");
        writer.println(sb.toString());
        writer.close();
    }

    



    // main entry
    
    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
        System.out.println("Start to create board");
        OptIllu o = new OptIllu(5, 13);

        o.disp();
        o.createSVG(1);
        o.saveSVG("a.svg");
        o = new OptIllu(6, 12);
        o.createSVG(2);
        o.saveSVG("b.svg");
    }
}	

rotating discs

based on Akiyoshi Kitaoka
	<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1150" height="862" viewBox="-200 -150 400 300">
 <title>An optical illusion similar to Rotating Snakes by Kitaoka Akiyoshi</title>
 <desc>An optical illusion similar to Rotating Snakes by Kitaoka Akiyoshi, drawn by CMG Lee, updated by R.LANG.</desc>
 <defs>
  <g id="blob" transform="translate(0,-45)">
   <rect x="-3.5" y="-5" width="7" height="10" fill="#000000"/>
   <ellipse cx="-3.5" cy="0" rx="2.2" ry="5" fill="blue"/>
   <ellipse cx="3.5" cy="0" rx="2.2" ry="5" fill="yellow"/>
  </g>
  <g id="blob6">
   <use xlink:href="#blob"/>
   <use xlink:href="#blob" transform="rotate(18)"/>
   <use xlink:href="#blob" transform="rotate(36)"/>
   <use xlink:href="#blob" transform="rotate(54)"/>
   <use xlink:href="#blob" transform="rotate(72)"/>
  </g>

  <g id="ring1">
   <use xlink:href="#blob6"/>
   <use xlink:href="#blob6" transform="rotate(90)"/>
   <use xlink:href="#blob6" transform="rotate(180)"/>
   <use xlink:href="#blob6" transform="rotate(270)"/>
  </g>
  
  <g id="ring2"><use xlink:href="#ring1"/><use xlink:href="#ring1" transform="scale(0.8) rotate(9)"/></g>
  <g id="ring4"><use xlink:href="#ring2"/><use xlink:href="#ring2" transform="scale(0.64)"/></g>
  <g id="ring8"><use xlink:href="#ring4"/><use xlink:href="#ring4" transform="scale(0.4096)"/></g>
  <g id="ring16"><use xlink:href="#ring8"/><use xlink:href="#ring8" transform="scale(0.16777216)"/></g>
  <g id="ring32"><use xlink:href="#ring16"/><use xlink:href="#ring16" transform="scale(0.0281474976710656)"/></g>

  <g id="disc">
   <circle cx="0" cy="0" r="50" fill="lightgray"/>
   <use xlink:href="#ring32"/>
  </g>
    <g id="disc1x2">
   <use xlink:href="#disc" transform="translate(0,-50)"/>
   <use xlink:href="#disc" transform="translate(0,50) scale(-1,1)"/> 
  </g>
  <g id="disc3x2">
   <use xlink:href="#disc1x2" transform="translate(-100,0)"/>
   <use xlink:href="#disc1x2" transform="scale(-1,1)"/>
   <use xlink:href="#disc1x2" transform="translate(100,0)"/> 
  </g>
  <g id="disc1x3">
   <use xlink:href="#disc" transform="translate(0,-100)"/>
   <use xlink:href="#disc" transform="scale(-1,1)"/>
   <use xlink:href="#disc" transform="translate(0,100)"/> 
  </g>
  <g id="disc4x3">
   <use xlink:href="#disc1x3" transform="translate(-150,0)"/>
   <use xlink:href="#disc1x3" transform="translate(-50,0) scale(-1,1)"/>
   <use xlink:href="#disc1x3" transform="translate(50,0)"/>
   <use xlink:href="#disc1x3" transform="translate(150,0) scale(-1,1)"/> 
  </g>
 </defs>

 <rect x="-400" y="-300" width="800" height="600" fill="white"/>
 <use xlink:href="#disc4x3"  />
 <use xlink:href="#disc3x2" />
 
</svg>	

moving rollers

	<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1150" height="862" viewBox="-50  -73 2128 1530">
 <title>An optical illusion similar to Rollers by Kitaoka Akiyoshi</title>
 <desc>An optical illusion similar to Rollers by Kitaoka Akiyoshi, drawn by R.LANG.</desc>
 <!--
 for the distanace, I use Excel to calc 
 
 Winkel;Winkel RAD; sin ;space between Objects;;dx for Blob; blob width ;
;;; 30   ;;;;
;;;calc;; 38   ; 41   ;
20;0,34906585; 0,34   ; 55   ;; 17   ; 14   ;
40;0,698131701; 0,64   ; 125   ;; 87   ; 26   ;
60;1,047197551; 0,87   ; 216   ;; 178   ; 35   ;
80;1,396263402; 0,98   ; 321   ;; 283   ; 40   ;
100;1,745329252; 0,98   ; 431   ;; 393   ; 40   ;
120;2,094395102; 0,87   ; 536   ;; 498   ; 35   ;
140;2,443460953; 0,64   ; 627   ;; 589   ; 26   ;
160;2,792526803; 0,34   ; 697   ;; 659   ; 14   ;
 -->
 
 
 
 <defs>
    <clipPath id="cut-off-left">
      <rect x="0" y="-73" width="46" height="146" />
    </clipPath>
	<clipPath id="cut-off-right">
      <rect x="-45" y="-73" width="46" height="146" />
    </clipPath>
 
  <g id="blob4">
	<ellipse cx="0" cy="0" rx="38" ry="68" style="stroke:white;stroke-width:10"   fill="blue"  clip-path="url(#cut-off-left)"/>
	<ellipse cx="0" cy="0" rx="38" ry="68" style="stroke:black;stroke-width:10"   fill="blue"  clip-path="url(#cut-off-right)"/>
  </g>
 
  <g id="blob3">
	<ellipse cx="0" cy="0" rx="33" ry="68" style="stroke:white;stroke-width:10"   fill="blue"  clip-path="url(#cut-off-left)"/>
	<ellipse cx="0" cy="0" rx="33" ry="68" style="stroke:black;stroke-width:10"   fill="blue"  clip-path="url(#cut-off-right)"/>
  </g>
  <g id="blob2">
	<ellipse cx="0" cy="0" rx="24" ry="68" style="stroke:white;stroke-width:10"   fill="blue"  clip-path="url(#cut-off-left)"/>
	<ellipse cx="0" cy="0" rx="24" ry="68" style="stroke:black;stroke-width:10"   fill="blue"  clip-path="url(#cut-off-right)"/>
  </g>
  <g id="blob1">
	<ellipse cx="0" cy="0" rx="12" ry="68" style="stroke:white;stroke-width:10"   fill="blue"  clip-path="url(#cut-off-left)"/>
	<ellipse cx="0" cy="0" rx="12" ry="68" style="stroke:black;stroke-width:10"   fill="blue"  clip-path="url(#cut-off-right)"/>
  </g>
	
  <g id="blobs">
   <use xlink:href="#blob1" transform="translate(17,0)" />
   <use xlink:href="#blob2" transform="translate(87,0)" />
   <use xlink:href="#blob3" transform="translate(178,0)" />
   <use xlink:href="#blob4" transform="translate(283,0)" />	 
   <use xlink:href="#blob4" transform="translate(393,0)" />
   <use xlink:href="#blob3" transform="translate(498,0)" />
   <use xlink:href="#blob2" transform="translate(589,0)" />
   <use xlink:href="#blob1" transform="translate(659,0)" />
  </g>
  
  <g id="blobs8">
   <use xlink:href="#blobs"/>
   <use xlink:href="#blobs" transform="translate(1362,0) scale(-1,1)"/>
   <use xlink:href="#blobs" transform="translate(1372,0) "/>
  </g>
  
</defs> 
   
  <rect x="-50" y="-123" width="2128" height="1650" fill="yellow"/>
  <use xlink:href="#blobs8"/>
  <use xlink:href="#blobs8" transform="translate(0,200)"/>
  <use xlink:href="#blobs8" transform="translate(0,400)"/>
  <use xlink:href="#blobs8" transform="translate(0,600)"/>
  <use xlink:href="#blobs8" transform="translate(0,800)"/>
  <use xlink:href="#blobs8" transform="translate(0,1000)"/>
  <use xlink:href="#blobs8" transform="translate(0,1200)"/>
  <use xlink:href="#blobs8" transform="translate(0,1400)"/>

 </svg>
	

Boxes

	<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
	width="1150" height="1150" 
	viewBox="-145 -145 290 290">
 <title>An optical illusion</title>
 <desc>An optical illusion, drawn by R.LANG.</desc>
 <!--
How to build?
1. Just start with 7 horizontal lines (rectangles with height=10; witdh =120) 
2. rotate this with 45° for left or right
3. crop with a quad box, where length=6*sqrt(2)*10
4. scale to 40x40 raster
5. position boxes
 -->
<defs>
	<clipPath id="cut-off">
		<!-- width=60*sqrt(2)	 -->
		<rect x="-42.4264" y="-42.4264" width="84.8528" height="84.8528"/>
	</clipPath>
 
	<g id="lines">
		<rect x="-60" y="-65" width="120" height="10" style="stroke:white;stroke-width:0"	fill="black" />
		<rect x="-60" y="-45" width="120" height="10" style="stroke:white;stroke-width:0"	fill="black" />
		<rect x="-60" y="-25" width="120" height="10" style="stroke:white;stroke-width:0"	fill="black" />
		<rect x="-60" y="-5"  width="120" height="10" style="stroke:white;stroke-width:0"	fill="black" />
		<rect x="-60" y="15"  width="120" height="10" style="stroke:white;stroke-width:0"	fill="black" />
		<rect x="-60" y="35"  width="120" height="10" style="stroke:white;stroke-width:0"	fill="black" />
		<rect x="-60" y="55"  width="120" height="10" style="stroke:white;stroke-width:0"	fill="black" />
	</g>
	
	<g id="quadRotR">
		<use xlink:href="#lines" transform="rotate(45) "	/>
	</g>
 
	<g id="quadRotL">
		<use xlink:href="#lines" transform="rotate(-45) "	/>
	</g>
	 
	<g id="quadL">
	 	<!-- 20/(60/sqrt(2))	=	 sqrt(2)/3 -->
		<use xlink:href="#quadRotL" clip-path="url(#cut-off)" transform="scale(0.4714,0.4714)"	/>
	</g>
	 
			
	<g id="quadR">
		<use xlink:href="#quadRotR" clip-path="url(#cut-off)" transform="scale(0.4714,0.4714)"	/>
	</g>
 
    <g id="doit">
	<rect x="-145" y="-145" width="290" height="290" fill="yellow"/>
	<rect x="-140" y="-140" width="280" height="280" fill="yellow"/>
	<use xlink:href="#quadR"	transform="translate(-120,-120)"/>
	<use xlink:href="#quadR"	transform="translate( -80,-120)"/>
	<use xlink:href="#quadR"	transform="translate( -40,-120)"/>
	<use xlink:href="#quadR"	transform="translate(   0,-120)"/>
	<use xlink:href="#quadR"	transform="translate(  40,-120)"/>
	<use xlink:href="#quadR"	transform="translate(  80,-120)"/>
	<use xlink:href="#quadR"	transform="translate( 120,-120)"/>
	
	<use xlink:href="#quadR"	transform="translate(-120, -80)"/>
	<use xlink:href="#quadL"	transform="translate( -80, -80)"/>
	<use xlink:href="#quadL"	transform="translate( -40, -80)"/>
	<use xlink:href="#quadL"	transform="translate(   0, -80)"/>
	<use xlink:href="#quadL"	transform="translate(  40, -80)"/>
	<use xlink:href="#quadL"	transform="translate(  80, -80)"/>
	<use xlink:href="#quadR"	transform="translate( 120, -80)"/>
	
	<use xlink:href="#quadR"	transform="translate(-120, -40)"/>
	<use xlink:href="#quadL"	transform="translate( -80, -40)"/>
	<use xlink:href="#quadR"	transform="translate( -40, -40)"/>
	<use xlink:href="#quadR"	transform="translate(   0, -40)"/>
	<use xlink:href="#quadR"	transform="translate(  40, -40)"/>
	<use xlink:href="#quadL"	transform="translate(  80, -40)"/>
	<use xlink:href="#quadR"	transform="translate( 120, -40)"/>
	
	<use xlink:href="#quadR"	transform="translate(-120,   0)"/> 
	<use xlink:href="#quadL"	transform="translate( -80   ,0)"/> 
	<use xlink:href="#quadR"	transform="translate( -40,   0)"/> 
	<use xlink:href="#quadL"	/>
	<use xlink:href="#quadR"	transform="translate(  40,   0)"/> 
	<use xlink:href="#quadL"	transform="translate(  80,   0)"/> 
	<use xlink:href="#quadR"	transform="translate( 120,   0)"/> 
	
	<use xlink:href="#quadR"	transform="translate(-120,  40)"/>
	<use xlink:href="#quadL"	transform="translate( -80,  40)"/>
	<use xlink:href="#quadR"	transform="translate( -40,  40)"/>
	<use xlink:href="#quadR"	transform="translate(   0,  40)"/>
	<use xlink:href="#quadR"	transform="translate(  40,  40)"/>	
	<use xlink:href="#quadL"	transform="translate(  80,  40)"/>	
	<use xlink:href="#quadR"	transform="translate( 120,  40)"/>
	
	<use xlink:href="#quadR"	transform="translate(-120,  80)"/>
	<use xlink:href="#quadL"	transform="translate( -80,  80)"/>
	<use xlink:href="#quadL"	transform="translate( -40,  80)"/>
	<use xlink:href="#quadL"	transform="translate(   0,  80)"/>
	<use xlink:href="#quadL"	transform="translate(  40,  80)"/>
	<use xlink:href="#quadL"	transform="translate(  80,  80)"/>
	<use xlink:href="#quadR"	transform="translate( 120,  80)"/>
	
	
	<use xlink:href="#quadR"	transform="translate(-120, 120)"/>
	<use xlink:href="#quadR"	transform="translate( -80, 120)"/>
	<use xlink:href="#quadR"	transform="translate( -40, 120)"/>
	<use xlink:href="#quadR"	transform="translate(   0, 120)"/>
	<use xlink:href="#quadR"	transform="translate(  40, 120)"/>
	<use xlink:href="#quadR"	transform="translate(  80, 120)"/>
	<use xlink:href="#quadR"	transform="translate( 120, 120)"/>
	</g>
 
 
 </defs> 
 
	 <use xlink:href="#doit"  />
	
	
 </svg>	

Hermann Gitter

	<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
width="1150" height="1150" style='background-color: white;'>
   <title>
	An optical illusion created by R.LANG
        invented by Ludimar Hermann;Physiologe; 1870; Hermann Gitter 
   </title>
 <defs>
  <g id="box1x9">
	 <rect x="25" y="25"  width="100" height="100" style="fill:black" />
	 <rect  x="150" y="25" width="100" height="100" style="fill:black" />
     <rect  x="275" y="25" width="100" height="100" style="fill:black" />
     <rect  x="400" y="25" width="100" height="100" style="fill:black" />
     <rect  x="525" y="25" width="100" height="100" style="fill:black" />
     <rect  x="650" y="25" width="100" height="100" style="fill:black" />
     <rect  x="775" y="25" width="100" height="100" style="fill:black" />
     <rect  x="900" y="25" width="100" height="100" style="fill:black" />
     <rect  x="1025" y="25" width="100" height="100" style="fill:black" />
  </g>
  
 <g id="box9x6">
	<use xlink:href="#box1x9"/>
    	<use xlink:href="#box1x9" transform="translate(0,125)"/>
	<use xlink:href="#box1x9" transform="translate(0,250)"/>
	<use xlink:href="#box1x9" transform="translate(0,375)"/>
	<use xlink:href="#box1x9" transform="translate(0,500)"/>
	<use xlink:href="#box1x9" transform="translate(0,625)"/>
	<use xlink:href="#box1x9" transform="translate(0,750)"/>
	<use xlink:href="#box1x9" transform="translate(0,875)"/>
	<use xlink:href="#box1x9" transform="translate(0,1000)"/>

 </g>
 </defs>
 
 <use xlink:href="#box9x6"  /> 
</svg>	

black & white dots

	<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
  width="1150" height="1150" style='background-color: black;'>
 <defs>
  // vertical
  <g id="line1x8">
	<line x1="50" y1="0" x2="50" y2="975" style="stroke:lightgray;stroke-width:25" />
	<circle cx="50" cy= "50" r="17.7"   fill="white" />
	<circle cx="50" cy="175" r="17.7"   fill="white" />
	<circle cx="50" cy="300" r="17.7"   fill="white" />
	<circle cx="50" cy="425" r="17.7"   fill="white" />
	<circle cx="50" cy="550" r="17.7"   fill="white" />
	<circle cx="50" cy="675" r="17.7"   fill="white" />
	<circle cx="50" cy="800" r="17.7"   fill="white" />
	<circle cx="50" cy="925" r="17.7"   fill="white" />
  </g>
  // horizontal
  <g id="line8x1">
	<line x1="0" y1="50" x2="975" y2="50" style="stroke:lightgray;stroke-width:25" />
  </g>
 
  <g id="line8x8">
	<use xlink:href="#line8x1"/>
	<use xlink:href="#line8x1" transform="translate(0,125)"/>
	<use xlink:href="#line8x1" transform="translate(0,250)"/>
	<use xlink:href="#line8x1" transform="translate(0,375)"/>
	<use xlink:href="#line8x1" transform="translate(0,500)"/>
	<use xlink:href="#line8x1" transform="translate(0,625)"/>
	<use xlink:href="#line8x1" transform="translate(0,750)"/>
	<use xlink:href="#line8x1" transform="translate(0,875)"/>
	
	<use xlink:href="#line1x8"/>
	<use xlink:href="#line1x8" transform="translate(125,0)"/>
	<use xlink:href="#line1x8" transform="translate(250,0)"/>
	<use xlink:href="#line1x8" transform="translate(375,0)"/>
	<use xlink:href="#line1x8" transform="translate(500,0)"/>
	<use xlink:href="#line1x8" transform="translate(625,0)"/>
	<use xlink:href="#line1x8" transform="translate(750,0)"/>
	<use xlink:href="#line1x8" transform="translate(875,0)"/>
	
   </g>
	
  </defs>
  <use xlink:href="#line8x8" transform="translate(87.5,87.5)"/>
</svg>
 	

hidden cube

	<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1150" height="1150"  style="background-color: white">
<title>An optical illusion created by R.LANG.</title>

<defs>

<g id="hori">
	<polygon points="0,0    0,4  100,4  102,2  102,-2  2,-2" style="fill:white;stroke-width:0" />
</g>

<g id="vert">
	<polygon points="0,0    2,-2    6,-2    6,98    4,100  0,100" style="fill:white;stroke-width:0" />
</g>

<g id="diag">
	<polygon points="0,50   50,0   54,0   54,4    4,54  0,54" style="fill:white;stroke-width:0" />
</g>

<g id="diago">
	<use xlink:href="#diag" transform="translate(0,0)"/> 
	<use xlink:href="#diag" transform="translate(0,96)"/> 
	<use xlink:href="#diag" transform="translate(96,0)"/> 
	<use xlink:href="#diag" transform="translate(96,96)"/> 
	</g>

<g id="cycle">
	<circle cx="2" cy="50" r="20"  stroke-width="1" fill="gray" />
	<circle cx="2" cy="146" r="20"  stroke-width="1" fill="gray" />
	<circle cx="100" cy="50" r="20"  stroke-width="1" fill="gray" />
	<circle cx="100" cy="146" r="20"  stroke-width="1" fill="gray" />
</g>

<g id="box">
	<use xlink:href="#vert" transform="translate(0,50)"/>
	<use xlink:href="#vert" transform="translate(96,50)"/>
	<use xlink:href="#hori" transform="translate(0,50)"/> 
	<use xlink:href="#hori" transform="translate(0,146)"/>
</g>

<g id="illu">
	<use xlink:href="#cycle"/>
	<use xlink:href="#cycle" transform="translate(48,-48)"/>
	<use xlink:href="#box"/>
	<use xlink:href="#diago"/>
	<use xlink:href="#box" transform="translate(50,-50)"/> 
	<use xlink:href="#diago"/>
</g>

</defs>

<use xlink:href="#illu"  transform="translate(121.05263157894737,121.05263157894737) scale(6.052631578947368,6.052631578947368)"/>
 
</svg>	

impossible cube

	<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1150.0" height="1327.9056191361394" style="background-color: white">
<title>An optical illusion created by R.LANG.</title>

	<polygon points="776.25,780.144551242482 920.0,863.1386524384907 920.0,995.9292143521045 776.25,912.9351131560959 " style="fill:black" />
	<polygon points="776.25,780.144551242482 920.0,863.1386524384907 1035.0,796.7433714816837 891.25,713.7492702856749 " style="fill:gray" />
	<polygon points="920.0,863.1386524384907 920.0,995.9292143521045 1035.0,929.5339333952976 1035.0,796.7433714816837 " style="fill:lightgray" />
	<polygon points="920.0,697.1504500464732 1035.0,763.5457310032801 1035.0,1062.3244953089115 920.0,995.9292143521045 " style="fill:black" />
	<polygon points="920.0,697.1504500464732 1035.0,763.5457310032801 1150.0,697.1504500464732 1035.0,630.7551690896662 " style="fill:gray" />
	<polygon points="1035.0,763.5457310032801 1035.0,1062.3244953089115 1150.0,995.9292143521045 1150.0,697.1504500464732 " style="fill:lightgray" />
	<polygon points="776.25,946.1327536344993 891.25,1012.5280345913063 891.25,1145.3185965049202 776.25,1078.9233155481134 " style="fill:black" />
	<polygon points="776.25,946.1327536344993 891.25,1012.5280345913063 1035.0,929.5339333952976 920.0,863.1386524384907 " style="fill:gray" />
	<polygon points="891.25,1012.5280345913063 891.25,1145.3185965049202 1035.0,1062.3244953089115 1035.0,929.5339333952976 " style="fill:lightgray" />
	<polygon points="115.0,796.7433714816837 230.0,863.1386524384907 230.0,995.9292143521045 115.0,929.5339333952976 " style="fill:black" />
	<polygon points="115.0,796.7433714816837 230.0,863.1386524384907 373.75,780.144551242482 258.75,713.7492702856749 " style="fill:gray" />
	<polygon points="230.0,863.1386524384907 230.0,995.9292143521045 373.75,912.9351131560959 373.75,780.144551242482 " style="fill:lightgray" />
	<polygon points="0.0,863.1386524384907 258.75,1012.5280345913063 258.75,1145.3185965049202 0.0,995.9292143521045 " style="fill:black" />
	<polygon points="0.0,863.1386524384907 258.75,1012.5280345913063 373.75,946.1327536344993 115.0,796.7433714816837 " style="fill:gray" />
	<polygon points="258.75,1012.5280345913063 258.75,1145.3185965049202 373.75,1078.9233155481134 373.75,946.1327536344993 " style="fill:lightgray" />
	<polygon points="0.0,697.1504500464732 115.0,763.5457310032801 115.0,929.5339333952976 0.0,863.1386524384907 " style="fill:black" />
	<polygon points="0.0,697.1504500464732 115.0,763.5457310032801 230.0,697.1504500464732 115.0,630.7551690896662 " style="fill:gray" />
	<polygon points="115.0,763.5457310032801 115.0,929.5339333952976 230.0,863.1386524384907 230.0,697.1504500464732 " style="fill:lightgray" />
	<polygon points="575.0,1062.3244953089115 690.0,1128.7197762657186 690.0,1261.5103381793324 575.0,1195.1150572225256 " style="fill:black" />
	<polygon points="575.0,1062.3244953089115 690.0,1128.7197762657186 833.75,1045.7256750697097 718.75,979.3303941129028 " style="fill:gray" />
	<polygon points="690.0,1128.7197762657186 690.0,1261.5103381793324 833.75,1178.5162369833238 833.75,1045.7256750697097 " style="fill:lightgray" />
	<polygon points="316.25,1045.7256750697097 575.0,1195.1150572225256 575.0,1327.9056191361394 316.25,1178.5162369833238 " style="fill:black" />
	<polygon points="316.25,1045.7256750697097 575.0,1195.1150572225256 690.0,1128.7197762657186 431.25,979.3303941129028 " style="fill:gray" />
	<polygon points="575.0,1195.1150572225256 575.0,1327.9056191361394 690.0,1261.5103381793324 690.0,1128.7197762657186 " style="fill:lightgray" />
	<polygon points="460.0,962.7315738737011 575.0,1029.1268548305081 575.0,1228.312697700929 460.0,1161.917416744122 " style="fill:black" />
	<polygon points="460.0,962.7315738737011 575.0,1029.1268548305081 690.0,962.7315738737011 575.0,896.3362929168941 " style="fill:gray" />
	<polygon points="575.0,1029.1268548305081 575.0,1228.312697700929 690.0,1161.917416744122 690.0,962.7315738737011 " style="fill:lightgray" />
	<polygon points="460.0,199.1858428704209 575.0,265.5811238272279 575.0,431.56932621924534 460.0,365.1740452624383 " style="fill:black" />
	<polygon points="460.0,199.1858428704209 575.0,265.5811238272279 690.0,199.1858428704209 575.0,132.79056191361394 " style="fill:gray" />
	<polygon points="575.0,265.5811238272279 575.0,431.56932621924534 690.0,365.1740452624383 690.0,199.1858428704209 " style="fill:lightgray" />
	<polygon points="316.25,149.3893821528157 431.25,215.78466310962267 431.25,348.5752250232366 316.25,282.17994406642964 " style="fill:black" />
	<polygon points="316.25,149.3893821528157 431.25,215.78466310962267 690.0,66.39528095680697 575.0,0.0 " style="fill:gray" />
	<polygon points="431.25,215.78466310962267 431.25,348.5752250232366 690.0,199.1858428704209 690.0,66.39528095680697 " style="fill:lightgray" />
	<polygon points="575.0,132.79056191361394 718.75,215.78466310962267 718.75,348.5752250232366 575.0,265.5811238272279 " style="fill:black" />
	<polygon points="575.0,132.79056191361394 718.75,215.78466310962267 833.75,149.3893821528157 690.0,66.39528095680697 " style="fill:gray" />
	<polygon points="718.75,215.78466310962267 718.75,348.5752250232366 833.75,282.17994406642964 833.75,149.3893821528157 " style="fill:lightgray" />
	<polygon points="920.0,464.7669666976488 1035.0,531.1622476544558 1035.0,697.1504500464732 920.0,630.7551690896662 " style="fill:black" />
	<polygon points="920.0,464.7669666976488 1035.0,531.1622476544558 1150.0,464.7669666976488 1035.0,398.3716857408418 " style="fill:gray" />
	<polygon points="1035.0,531.1622476544558 1035.0,697.1504500464732 1150.0,630.7551690896662 1150.0,464.7669666976488 " style="fill:lightgray" />
	<polygon points="776.25,248.98230358802613 1035.0,398.3716857408418 1035.0,531.1622476544558 776.25,381.77286550164007 " style="fill:black" />
	<polygon points="776.25,248.98230358802613 1035.0,398.3716857408418 1150.0,331.97640478403486 891.25,182.58702263121916 " style="fill:gray" />
	<polygon points="1035.0,398.3716857408418 1035.0,531.1622476544558 1150.0,464.7669666976488 1150.0,331.97640478403486 " style="fill:lightgray" />
	<polygon points="776.25,414.9705059800436 891.25,481.36578693685055 891.25,614.1563488504645 776.25,547.7610678936575 " style="fill:black" />
	<polygon points="776.25,414.9705059800436 891.25,481.36578693685055 1035.0,398.3716857408418 920.0,331.97640478403486 " style="fill:gray" />
	<polygon points="891.25,481.36578693685055 891.25,614.1563488504645 1035.0,531.1622476544558 1035.0,398.3716857408418 " style="fill:lightgray" />
	<polygon points="115.0,265.5811238272279 230.0,331.97640478403486 230.0,464.7669666976488 115.0,398.3716857408418 " style="fill:black" />
	<polygon points="115.0,265.5811238272279 230.0,331.97640478403486 373.75,248.98230358802613 258.75,182.58702263121916 " style="fill:gray" />
	<polygon points="230.0,331.97640478403486 230.0,464.7669666976488 373.75,381.77286550164007 373.75,248.98230358802613 " style="fill:lightgray" />
	<polygon points="0.0,431.56932621924534 115.0,497.96460717605225 115.0,697.1504500464732 0.0,630.7551690896662 " style="fill:black" />
	<polygon points="0.0,431.56932621924534 115.0,497.96460717605225 230.0,431.56932621924534 115.0,365.1740452624383 " style="fill:gray" />
	<polygon points="115.0,497.96460717605225 115.0,697.1504500464732 230.0,630.7551690896662 230.0,431.56932621924534 " style="fill:lightgray" />
	<polygon points="0.0,331.97640478403486 258.75,481.36578693685055 258.75,614.1563488504645 0.0,464.7669666976488 " style="fill:black" />
	<polygon points="0.0,331.97640478403486 258.75,481.36578693685055 373.75,414.9705059800436 115.0,265.5811238272279 " style="fill:gray" />
	<polygon points="258.75,481.36578693685055 258.75,614.1563488504645 373.75,547.7610678936575 373.75,414.9705059800436 " style="fill:lightgray" />
	<polygon points="316.25,514.5634274152541 718.75,746.9469107640784 718.75,879.7374726776924 316.25,647.353989328868 " style="fill:black" />
	<polygon points="316.25,514.5634274152541 718.75,746.9469107640784 833.75,680.5516298072714 431.25,448.16814645844704 " style="fill:gray" />
	<polygon points="718.75,746.9469107640784 718.75,879.7374726776924 833.75,813.3421917208854 833.75,680.5516298072714 " style="fill:lightgray" />
	<polygon points="316.25,680.5516298072714 431.25,746.9469107640784 431.25,879.7374726776924 316.25,813.3421917208854 " style="fill:black" />
	<polygon points="316.25,680.5516298072714 431.25,746.9469107640784 833.75,514.5634274152541 718.75,448.16814645844704 " style="fill:gray" />
	<polygon points="431.25,746.9469107640784 431.25,879.7374726776924 833.75,647.353989328868 833.75,514.5634274152541 " style="fill:lightgray" />
	<polygon points="460.0,431.56932621924534 575.0,497.96460717605225 575.0,962.7315738737011 460.0,896.3362929168941 " style="fill:black" />
	<polygon points="460.0,431.56932621924534 575.0,497.96460717605225 690.0,431.56932621924534 575.0,365.1740452624383 " style="fill:gray" />
	<polygon points="575.0,497.96460717605225 575.0,962.7315738737011 690.0,896.3362929168941 690.0,431.56932621924534 " style="fill:lightgray" />
	<polygon points="575.0,663.9528095680697 718.75,746.9469107640784 718.75,879.7374726776924 575.0,796.7433714816837 " style="fill:black" />
	<polygon points="575.0,663.9528095680697 718.75,746.9469107640784 833.75,680.5516298072714 690.0,597.5575286112628 " style="fill:gray" />
	<polygon points="718.75,746.9469107640784 718.75,879.7374726776924 833.75,813.3421917208854 833.75,680.5516298072714 " style="fill:lightgray" />
	<polygon points="316.25,680.5516298072714 431.25,746.9469107640784 431.25,879.7374726776924 316.25,813.3421917208854 " style="fill:black" />
	<polygon points="316.25,680.5516298072714 431.25,746.9469107640784 575.0,663.9528095680697 460.0,597.5575286112628 " style="fill:gray" />
	<polygon points="431.25,746.9469107640784 431.25,879.7374726776924 575.0,796.7433714816837 575.0,663.9528095680697 " style="fill:lightgray" />
	<polygon points="287.5,829.9410119600872 373.75,879.7374726776924 373.75,780.144551242482 " style="fill:lightgray" />
	<polygon points="575.0,331.97640478403486 661.25,381.77286550164007 575.0,431.56932621924534 " style="fill:lightgray" />
	<polygon points="776.25,780.144551242482 862.5,829.9410119600872 862.5,730.3480905248766 " style="fill:gray" />
	<polygon points="287.5,730.3480905248766 373.75,780.144551242482 287.5,829.9410119600872 " style="fill:gray" />
	<polygon points="488.75,381.77286550164007 575.0,431.56932621924534 575.0,331.97640478403486 " style="fill:black" />
	<polygon points="776.25,780.144551242482 862.5,829.9410119600872 776.25,879.7374726776924 " style="fill:black" />
	<line x1="575.0" y1="132.79056191361394" x2="690.0" y2="66.39528095680697"  style="stroke:gray;stroke-width:1" />
	<line x1="0.0" y1="863.1386524384907" x2="115.0" y2="929.5339333952976"  style="stroke:black;stroke-width:1" />
	<line x1="690.0" y1="1128.7197762657186" x2="690.0" y2="1261.5103381793324"  style="stroke:lightgray;stroke-width:1" />
	<line x1="1035.0" y1="398.3716857408418" x2="1035.0" y2="531.1622476544558"  style="stroke:lightgray;stroke-width:1" />
	<line x1="1035.0" y1="929.5339333952976" x2="1035.0" y2="1062.3244953089115"  style="stroke:lightgray;stroke-width:1" />
</svg> 
	

Rolf LANG - Remsstr. 39 - 71384 Weinstadt | 02:01:41 up 4 days, 12:51, 0 users, load average: 0.15, 0.18, 0.18