cubrはPython製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

ルービックキューブは1977年に登場以来、みんなに愛されているおもちゃです。そんなルービックキューブをプログラマーに渡すとどうなるか…それがよく分かるのがcubrです。

[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-29 11.26.47_thumb.1380457132.png)](http://images.moongift.jp/2013/09/Screenshot 2013-09-29 11.26.47.1380457132.png)
3D空間にルービックキューブが浮かんでいます。

[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-29 11.27.14_thumb.1380457137.png)](http://images.moongift.jp/2013/09/Screenshot 2013-09-29 11.27.14.1380457137.png)
Webカメラを使ってごちゃ混ぜにしたルービックキューブを映し、色を記録します。

[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-29 11.27.57_thumb.1380457142.png)](http://images.moongift.jp/2013/09/Screenshot 2013-09-29 11.27.57.1380457142.png)
6面全体を映し出して完成です。そして解法を実行します。

[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-29 11.28.32_thumb.1380457145.png)](http://images.moongift.jp/2013/09/Screenshot 2013-09-29 11.28.32.1380457145.png)
表示されている通りにルービックキューブを回転させていけば完成します。

cubrは技術的にはOpenCVを使ってWebカメラの映像を取り込んで3D空間上にルービックキューブを再現します。そして立体的に解法を表示してくれます。

技術的にはシンプルですが、見せ方がとても上手ですね。それにリアルな物体をWebカムを通じて取り込んで、その結果をデジタルで表現するというやり方は他にも使えそうです。

スーパーマリオをコンピュータで自動クリアするような試みも行われていますが、そういった本来は人がやるべきことをコンピュータでやらせてしまうのは面白いですね。

bluquar/cubr