縦/横にその列/行内のピクセル数が表示された表から、枠内に隠されたドット絵を解いていく、お馴染みのパズルが有ります(先頭に表示した図)。
暇つぶしには「もってこい」、なのですが、ドット絵のサイズが大きすぎると、時間がかかりすぎるし、小さすぎると「暇つぶし」にすら、ならないほど短時間で解けてしまって、がっかりです。10分前後でサクッと解くことのできる、15×15[ドット]サイズ程のデータがお勧めです(1^^;)。
さて、とあるPCゲームで、自分でドット絵を作成して、パズルを作成できるソフトウェアが有り、自分で作ってみました。
すると、どんなドット絵でもOK、という訳ではなく、全体に占める黒と白のドットの比率(数)や、縦/横のドットの並び方によって、解けるデータと、解けないデータが存在することが判りました。そりゃあ、そうだよね〜。そうやって作成したパズルが先頭に示した図だった訳です。
今回は、自作のパズルを解いていく様子をレイトレーシングしてみたいと思います。
まず、作成したデータをテキストデータに落とします(手動)。
これが元データとなります。元データのサンプルは、こちら(solve_picx_pos.txt)です。
変換スクリプト(solve_picx_pos.olv)を通して、もう少し扱い易いデータ(solve_picx.txt)に変換して使います。
※変換スクリプトは、Olive+の拡張子になっていますが、Xi-TRACEに読み込ませても実行することが可能です。
解き方の手順に沿って、だんだんパズルが完成して行く様子を表現するため、ピクセルを表す物体の形状を工夫しました。
この条件を満たす、四角錐をピクセルの形状に採用しました(下図)。
四面の三角形が正三角形となる場合:
最初に示したパズルがどんなドット絵だったのか?は、後ほどの動画でご確認ください。
ちゃんと解けるデータになっていますので、動画で答え合わせする前に、Excel等を使って、ご自身で解いてみるのも、一興です。パズルのCSVファイルを以下にリンクしておきます。
パズルデータ:solve_picx.csv
カンマ(,)区切りのCSVファイルですので、Excel等の表計算ソフトウェアで読み込んでお楽しみください。
完成したデータをリンクしておきます。
1) | Xi-TRACEデータ | solve_picx.xitr |
2) | 手順データ | solve_picx.txt |
3) | マッピングデータ | solve_picx_ques.xpic |
4) | 手順作成スクリプト | solve_picx_pos.olv |
5) | 出題データ | solve_picx_pos.txt |
1)〜3)でレイトレーシングを実行します。4)5)は、手順データを作成するためのスクリプトと元データです。
完成した動画を以下にリンクしておきます。
これ、レイトレーシングで描画させる必要あった(1^^;)っ?。パズルを解いていく様子をじっくり見ていられる様に、真上からの視点で描画してしまったので、ほぼ二次元データになってしまいました……。少し俯瞰するような視点にしておいた方が、レイトレーシングらしくなったかも?