突然ですが、二次元バーコードの「QRコード」について調べてみました。
PayPayでおなじみのアレです。
腕試しに、QRコード出力プログラムを自作できないかな?と思ったので。
これだけ世の中に普及してるんだから、自分でもあのドット絵を
計算して作れるんじゃないか・・・と。
まず、QRコードの画像を生成する変換サイトみたいなのは多数見つかりました。
Creating a QR Code step by step (www.nayuki.io)
こんな感じ。英数字を入力するとQRコードが表示されます。
QRコードのことを全く知らないので仕様を調べました。
モデルだのバージョンだのモードだので扱う文字種や雛型のルールがあり
そこに二進数が並び、白黒ドットの比率を散らすためのマスク=反転処理がかかるようです。
手順は多いが、ややこしいなりに理解。
※キーエンスの公式サイトより引用
「簡単なやつならプログラムできるかも」と思ったところで、問題が。
緑色のデータ部に対して、黄色の「誤り訂正符号」の描き方がわからない。
ネット検索で20サイトくらい眺めましたが、
誤り訂正符号を解説しているページがありません。
逆に、訂正符号を無視してデータ部だけ読めたよみたいな記事や動画は山ほど出てきます。
あーこれは行き詰まった。
PythonのQR生成ライブラリとか、JavascriptのQR変換サイトとか実在するので、
できる人はできるんでしょうけど。
掘り下げるとn次多項式の割り算がほにゃららとか出てきて、さっぱりわかりません。
高校数学の範囲と思います、学生時代きちんと勉強しておけばよかった。
おしまい。