現在関数型プログラミング(Functional reactive programming)について勉強をしています。
調べていると、Franというものがあり、アニメーションを足し合わせて?新しいアニメーションにしてる等、面白く、興味を持ち、試してみたいと思っています。
英語の理解ができていないかもしれないのですが、franというライブラリ?がそもそも古く、使えないかもという警告がなされていました。
それでも、ダウンロードを試みたのですが、Not foundになってしまい、ダウンロードできませんでした。
なので、実際にFranがやっていることを別言語で実装しようと思いました。
そこで、実装方法を工夫すれば関数型プログラミングが可能と聞いた、Javascript,Three.jsを用いて実装しようとしています。ほんの少しHTMLも使用しています。(結果画面の出力のため)
Three.jsで3D空間に球を表示させ、posisionを変えて移動させるアニメーションはできました。
そのあと、関数型プログラミングで書いてみようと思ったのですが、再代入は不可能(できるが、やってはいけない)とあり、three.jsのsceneに毎フレーム入れる球のposisionの値の更新はどのようにすればいいのだろうか?と悩んでおります。
まとめると、アニメーションはループを回していて、その中で、オブジェクトの状態をsceneに追加して描画→次シーンでのオブジェクトの変化量の計算、を繰り返し行う感じだと思っています。そこを代入無しで関数型で描くにはどのように実装すればいいのでしょうか・・・?どなたかご教授いただけないでしょうか・・・?良ければごく簡単な例、点や球が少し移動する物等教えていただけると幸いです。
事前知識もあまりないまま行っているので検討違いのことをおたずねしていたら申し訳ございません。
よろしくお願いします。
以下に参考にさせていただいているサイトのURLを添付いたします。
・Composing Reactive Animations
http://conal.net/fran/tutorial.htm
・初心者でも絶対わかる、WebGLプログラミング<three.js最初の一歩>
https://html5experts.jp/yomotsu/5225/
あなたの回答
tips
プレビュー