申し訳ありませんがタイトルが混乱している場合は、1つのフレーズでまとめるのは難しいです。ウェブブラウザでのシミュレーション
私は、Webブラウザでロボットシミュレーションをレンダリングするプロジェクトを行っています。 具体的には、私が勉強している大学では、C++で書かれたシミュレータを使用して、このプログラムは環境内で進化するロボットをシミュレートします。 このシミュレータには、3D OpenGLビジュアライゼーションなどの多くの出力が用意されています。 1つの出力は、各タイムステップごとに出力される基本テキストレンダリング、環境内のすべてのロボットの位置付けです。
[OK]ので、私はブラウザで行われている新しいタイプのビジュアライゼーションに取り組むように頼まれました。 これは、シミュレータ用のコードをアップロードしてサーバ上で起動し、サーバ上でシミュレートしている間はブラウザ(HTML5 CanvasまたはSVG内)でシミュレーションを見ることができることを意味します。
私はまず、Ajaxを使ってシミュレータからデータを取得し、キャンバスライブラリを使用してロボットを画面に描画することを考えました。しかし、彼らはWebサーバーが必要ではないので、WebSocketサーバーとして機能し、ブラウザが直接話すことができるように、シミュレータに新しいタイプのビジュアライゼーションを直接書き込むことを考えました(実際にはC++ WebSocketライブラリを使用します)。 Webサーバーを必要とせずにシミュレータに接続できます(可能かどうかわかりません)。
まあ...それはアイデアです。あなたがそれについてどう思っているか教えてくれたら、アドバイスやリンクを私に教えてもらえると素晴らしいでしょう。 Webサーバーなしでこれを処理することは可能ですか?シミュレータでHTTPプロトコルを実装しないとできない場合は、このアイデアをスキップしてWebサーバーで処理します:)
2番目の質問はより正確です: 私はすでにHTML5 Canvasライブラリ.js、jCanvaScript、dojo.gfx、cake、doodle.js、bHive、KineticJS。私はまだどちらを使うのか分からない。 jCanvaScriptでいくつかの実験を開始しましたが、私は問題に直面しています。 私はサーバーからデータを取得し(各タイムステップでロボットの位置)、次にそれらをキャンバスに描画する必要があります。私はいくつかの.animate関数を使用していました。この関数は、アニメーションの時間であるmsの数をとり、シミュレーションの各タイムステップで移動しなければならないすべてのオブジェクトのアニメーションを同期させる方法を知りません。 そのようなシミュレーションを実装するのに役立つフレームワークをご存知ですか? (タイムステップごとにオブジェクトを動かすだけです)。
それは、私の貧しい英語のための謝罪です、私はそれが理解できればいいと思いますが、私に言い換えれば言います。
ご協力いただきありがとうございます。 私はそのプロジェクトで少し失われており、どんなアドバイスも大歓迎です!
良い一日を。
Balzard。
ご回答いただきありがとうございますが、実際にはシミュレートを実装する必要はありません。これは既にシミュレータによって行われています。私は「ただ」既存のシミュレータの出力を使ってブラウザでシミュレーションをレンダリングする必要があります。 – Balzard