ヒードランは十字のツメを食いこませてTeXTikZを這い回る

※この記事はQiitaに投稿していた内容です

はじめに

先日2021-02-27にポケットモンスターダイヤモンドパールのリメイクのブリリアントダイヤモンドシャイニングパールが発表されました15年間もヒードランは壁や天井を這い回っていましたたまには他の場所も這い回りたいことでしょうここではヒードランにTeXTikZ1を這い回ってもらいます

基礎知識

前提となる基礎知識は以下のリンクを参考にしてください

TeXを這い回る

まずはTeXを這い回ってもらいますただヒードランの画像を\includegraphicsによって貼り付けるだけです2

1
\includegraphics[scale=4]{Heatran.png}

TikZを這い回る

TeXを這い回るだけでは面白くありませんなのでTikZでドット絵を描いて這い回ってもらいますドット絵は大量の四角で描きます枠無しで色を塗ると環境によっては隙間が見えてしまいますなので太さthinの枠を設定していますYY軸は下が正になっているのでマイナスにしています

1
2
3
\begin{tikzpicture}
	\draw [thin,fill,color={rgb,255:red,R;green,G;blue,B}] (X,-Y) rectangle (X+1,-Y-1);
\end{tikzpicture}

手作業で全ドットを描いたら大変なのでPython+OpenCVにやってもらいましょう背景のドットは無視します後は全画素に応じてカラーコードの設定と座標の設定をしています当たり前ですけど見た目は変わりません

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
img = cv2.imread(sys.argv[1], cv2.IMREAD_UNCHANGED)

print("\\begin{tikzpicture}")
for i in range(img.shape[1]):
    for j in range(img.shape[0]):
        if img[i,j,3] == 0:
            continue
        print(
            '\t\\draw [thin,fill,color={{rgb,255:red,{};green,{};blue,{}}}] ({},{}) rectangle ({},{});'.format(
                img[i,j,2], img[i,j,1], img[i,j,0], j, -i, j+1, -i-1
            )
        )
print("\\end{tikzpicture}")

まとめ

ヒードランが壁と天井以外を這い回りましたリメイク作品でもゴキゴキしてるか楽しみです

文献

  1. ソースコード(GitHub)
  2. TeX (TeX Wiki)
  3. TikZ/PGF (TeX Wiki)
  4. ヒードラン(ピクシブ)

  1. TikZと表示すべきだけどタイトルと統一するためにローマン体にしています ↩︎

  2. SVGの表示がうまくいっていないかもしれません ↩︎