読者です 読者をやめる 読者になる 読者になる

気ままにIoTメモ

Iotに関わること関わらないこと備忘録

ARで3Dアトラクタ

3次元の図形を確認する時には「回転・移動・拡大」という操作をします。

マウスやキーボードで操作するには少し“慣れ”が必要なのですが、 3Dプリンタで印刷する以外にもARを使った方法があると思うので作ってみました。

今回はローレンツアトラクタを視覚化。

AR用に正六面体を製作。 f:id:htn_hs:20161126110527j:plain ハリボテなので、ルービックキューブにそれぞれのパターンを貼り付けています(笑)

プログラムにはNyARToolkit for processing.EN使いました。
公式でも同じような事がされているようです。
Multimarker Tracking [ARToolkit]

実行結果。 f:id:htn_hs:20161126110816p:plain 計算結果をリアルタイムに好きな角度で見ることができます。

300個のバラバラな初期値で開始させると、アトラクタに収束していく様子が確認できます。
www.youtube.com

1個だけで計算させ、軌跡を描かせるとローレンツアトラクタが確認できます。
www.youtube.com

カメラに1面分は映さないといけないので、 目と同じ視線の位置に設置すれば「アトラクタを持っている気分」になれるかもしれません。

リアルタイムに描画させるために、刻みの荒いオイラー法で計算させています。 より正確なアトラクタを確認するには、予め計算させておいた値を描画させると良いと思います。

今回は立体を意識して正六面体を使用したのですが、基準面の切り替わり時にどうしても飛んでしまいました。 外形が理解できればいい程度なら表と裏の2面だけの方が使いやすいかもしれません。

GitHub - hsgwa/ar_view

2016年12月2日追記
動画では全体的に青いですが、プログラムの150行目をfill(100, 100, 100);に変更すれば治ります。

2016年12月14日追記
探したらARToolkit公式も同じようなことをしていました。 Multimarker Tracking