Daiji Blog

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

公開:
更新:

はじめに

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

基礎知識

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

TeXを這い回る

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

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

TeXを這い回るヒードラン

TikZを這い回る

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

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

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

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}")

TikZを這い回るヒードラン

まとめ

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

文献

  1. ソースコード
  2. TeX
  3. TikZ/PGF
  4. ヒードラン

脚注

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

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