labunix's blog

labunixのラボUnix

bashで「はあと」。

■以下でアスキーなハートを見てしまったので。。。

 第2回ペアプログラミング合コン 男性枠
 http://connpass.com/event/631/

■「The Love Formula」
 x^2+(y-x^(2/3))^2=1

 ハートの方程式
 http://d.hatena.ne.jp/Zellij/20111205/p1

 Heart Curve
 http://www.mathematische-basteleien.de/heart.htm

 WolframAlpha
 http://www.wolframalpha.com/input/?i=x%5E2%2B%28y-x%5E%282%2F3%29%29%5E2%3D1

■私もコードにしようと思ったけど、
 実際にひとつづつ書いた方が速かったw。
 文字コードや文字サイズによって見え方が異なるのが難点かな。。。

$ echo "
 ++  ++
++++++++
++++++++
 ++++++
  ++++
   ++"
 ++  ++
++++++++
++++++++
 ++++++
  ++++
   ++

■スペースくらいはなんとかしよう。。。

$ cat heart.txt
1111111111111111111111111
1111110000011100000111111
1111101111101011111011111
1111011111110111111101111
1111011111111111111101111
1111011111111111111101111
1111101111111111111011111
1111110111111111110111111
1111111011111111101111111
1111111101111111011111111
1111111111011101111111111
1111111111110111111111111

$ cat heart.txt | sed s/"0"/" "/g
1111111111111111111111111
111111     111     111111
11111 11111 1 11111 11111
1111 1111111 1111111 1111
1111 111111111111111 1111
1111 111111111111111 1111
11111 1111111111111 11111
111111 11111111111 111111
1111111 111111111 1111111
11111111 1111111 11111111
1111111111 111 1111111111
111111111111 111111111111

$ cat heart.txt | sed s/"1"/" "/g

      00000   00000
     0     0 0     0
    0       0       0
    0               0
    0               0
     0             0
      0           0
       0         0
        0       0
          0   0
            0

$ cat heart.txt | sed s/"1"/" "/g | sed s/"0"/"*"/g

      *****   *****
     *     * *     *
    *       *       *
    *               *
    *               *
     *             *
      *           *
       *         *
        *       *
          *   *
            *