2010-11-21 11 views
0

私は興味がありますが、PHP、JSを使用して実行時に3Dイメージを描画するにはどうすればいいですか? (または他のどのプログラミング言語でこれが示唆されましたか)実行時に3Dイメージを描画する

具体的には:私は2つのフィールドを持つデータベーステーブルを持っています。ユーザーとろうそく。たとえばマイケル、100マイケルは100のろうそくを持っていることを意味します。

私は「3Dキャンドル画像を」描くために、この画像を使用することができますどのように10x10のキャンドル画像、this

だから私はexapmle 300×300 DIVを持っていると私はで埋めたいようなものを持っている場合3dスタイルのcandle.png。ユーザーがデータベースに3つのろうそくを持っている場合、3つのろうそくを無作為に記入してください。30のろうそくで30を記入してください。

どうすればいいですか?

+0

もっと明確にするために実際の例を示していただけますか? PHPでRaytracingをしたい場合は、すぐに停止できますが、サードパーティのレンダラを呼び出すことができます(POVRayはまだありますか?)。シンプルな2Dコピー操作は、そのままでも可能です。 –

答えて

0

3Dグラフィックをレンダリングすることは、可能な限り、実際にはどのようなphpやjavascriptが作成されるのではありません。

キャンドルのプリレンダリング画像をページに出力する方法をお探しの場合は、これらの言語では非常に簡単ですが、便利な回答については具体的な質問をする必要があります。

+0

あなたはそれを知らない。 3Dエフェクトを作成するためにスプライトをいくつかコピーしたい場合は、範囲内にある可能性があります。 –

+1

スプライトのコピーは、3Dグラフィックスのレンダリングと同じではありません。 – Greg

+1

彼は本当に3Dグラフィックをレンダリングしたいのかどうか分からない。この質問は多くの明確化を必要とします –

0

サーバー上で任意のコードを実行できる場合は、http://liballeg.org/などのプログラムを作成して、CGIで実行し、JavaScriptからクエリーすることをおすすめします。私はあなたがアフィン変換と呼ばれるものを探していると思います。調べる;私はアレグロがそれらをサポートしていると信じています。

+0

具体的には、apply_matrix()関数が必要です。キャンドルごとに3x3変換マトリックスの適切なセルをランダム化し、マトリックスを適用します。 – Actorclavilis

0

これにアプローチする方法は、ユーザーが画像を回転できるようにする必要がある場合など、ユーザーに表示する方法、つまりユーザーの近く、つまりブラウザ上で行う必要がある場合などに応じて異なります。

最終的な結果が静的ビットマップである場合は、パフォーマンスのためにサーバー上で行うのが最適かもしれません。

いずれにしても、数学には多大な影響がありますが、数学を知っていると思います。

PHPで行うには、gdlibを使用してイメージを保存し、レイトレーシングでCの例を探します。それは遅く、あなたのWebサーバーでパフォーマンスが低下しますが、それに対する解決策があります。

JavaScriptを使用したい場合は、3Dキャンバス(https://wiki.mozilla.org/Canvas:3D)を使用するのが最善の方法ですが、現時点では非常に限られたブラウザサポートしかありませんが、OpenGL APIにアクセスできます。

関連する問題