人が見ていると恥ずかしがってちゃんと動かないソート関数
Lynnさん(@chordbug)がツイッターで公開したデモがこちら。
https://twitter.com/chordbug/status/1005701513719754752
「見てる時だけちゃんと動くソート関数を書いてみた」
JavaScript で書かれた sort() という関数に配列を与えて呼び出しています。
カメラに正面から顔が映っている状態では正しくソートされた結果が返ってくるのに対して、横を向いたリ顔を隠したりした状態で呼んだ時には、結果は毎回異なる適当な順番になっています。
もう一つの動画もあって、こちらは逆に「見ていると緊張して正しくソートできない」関数のデモ
https://twitter.com/chordbug/status/1005703638323429377
リプライでの質問に対して、Lynnさんはこのウェブページのソースコードを公開してくれています。
tracking.jsという人の顔を認識するライブラリのサンプルをベースに、顔が認識されている時のフラグを用意して、フラグがオンの時だけ正しくソートし、そうでない時はランダムに並べていることがわかります。
ブラウザのカメラ入力を許可し、JavaScriptコンソールで同じように sort() を呼び出すと、手元でも動かすことができました。
手近にあった顔の映った写真を使いました。仕組み上は視線の向きは関係ないので…
ブラウザ上のカメラ入力からの顔認識、こんなに手軽に使えるようになっているんですね。今回の「顔が映ってたら画面を見てることにする」というアイデアだけでなく、これまで無かったページ上のギミックが考えられそうです。