心理学の古典的な実験課題「メンタルローテーション」(Shepard と Metzler が1971年に発表)をベースにした診断ゲームです。出題は3種類。①回転:バラバラに回された立体の中から、元と同じ立体を当てる(そっくりな鏡像や別物が混ざる)。②俯瞰:ブロックの山を真上から見た形を当てる。③数え:見えない部分も含めて積み木の総数を数える。10問の正答と速さから「空間認識偏差値」を判定します。
回転問題で最も引っかかるのが鏡像です。回転では絶対に一致しない「裏返し」が必ず混ざっているので、全体の形が似ていても、部品の左右のつながり方まで確認してください。俯瞰問題は視点が固定されていて、手前の方位に赤い縁のアンカーがあります。頭の中でその方位から真上に回り込むイメージを持つと解けます。数え問題は「浮いているブロックはない=上に何かあれば下は必ず詰まっている」という前提を使えば、見えない列も推測できます。
空間認識は生まれつきと思われがちですが、実は練習で伸びる能力です。研究の世界では有名なこの課題を、論文を読まなくても触るだけで体験できる形にしたい——そう考えて作りました。自分の得意・不得意が種目別に見えるので、脳のクセを知る診断としても使えます。
問題は毎回ランダム生成ですが、品質を数学的に保証しています。立方体の24通りの回転群をすべて計算し、鏡像が本当に回転で一致しないもの(キラルな形)だけを出題。俯瞰・数え問題も、選択肢が偶然かぶらないよう検証してから出しています。3D表示は three.js、判定ロジックは three.js に依存しない純粋な JavaScript として分離してあり、正しさをテストで担保しています。
ベースにしているのは心理学の実験課題(メンタルローテーション, Shepard & Metzler 1971)で、全10問・約3分です。出題は次の3種類が混ざります。
① 回転「本物はどれ?」——回転しただけの本物1つに、鏡像と別物が混ざります。選択肢はすべてゆっくり自動回転する3Dビューなので、死角で損をすることはありません。ここでいちばん引っかかるのが鏡像で、回転させても絶対に重ならない相手です。② 俯瞰「真上から見た形は?」——こちらは視点固定。ハズレは1マスだけ違うので、目印の🟥赤い縁(手前の方位アンカー)を基準に数えてください。③ 数え「全部でいくつ?」——隠れているブロックも含めた総数を答えます。こちらはドラッグで回して数えて構いません。
正答率と回答速度から擬似偏差値と称号(「頭の中に3Dプリンタ」〜「方向音痴の才能」)を判定し、結果はコピーしてXに貼れます。
この手のテストでいちばん起きやすい事故が、ハズレのつもりの選択肢が実は正解と同じ形だった、というものです。spatial.test.js では次を全PASSで保証しています。
回転問題については、24回転群での形状同値判定により「正解が2つある」ことが数学的に起きないことを、60問ぶん検証しています。鏡像ディストラクタはキラルな形状(=鏡像が回転では一致しない形)からのみ生成し、毎回その性質を確認しています。俯瞰問題のハズレは固定視点から見えるマスだけを変更しており、レイマーチによる遮蔽判定で「見えないから解けない」問題を排除しています。
初版では、俯瞰問題のハズレとして盤面を回転させたものを出していました。しかしこれは設計ミスで、方位の基準がなければ、回転した盤面も正解になってしまうのです。本人テストで発覚し、現在の「1マスだけ違う・視点固定・方位アンカーあり」という形に作り直しました。姉妹作のかげ当てパズルで光の向きと物体の向きを問題ごとに固定しているのも、同じ失敗を繰り返さないためです。
なお偏差値は全国調査に基づくものではなく、このテストの採点モデルによる擬似値です。3D表示にはthree.js(r128・MIT)を同梱し、計算はすべてブラウザ内で完結します。回答が外部に送信されることはありません。