2012-01-07 11 views
5

私は数学者である古い友達がいます。彼は信じられないほど美しい数式を圧縮するための自分の数学を持っています。ハードコア数学とキャンバスとJavaScriptを使用した3次元形状

彼はMathematicaと呼ばれるプログラムで動作し、Mathematicaは3Dシェイプの式を変換します。

キャンバスとJavaScriptを使用してこれらの図を入手することは可能でしょうか?添付の数式と図を参照してください。

私はこれをほとんど知りません。しかし、私に例を示すことができれば嬉しいです。

formula

3D-shape

+1

あなたの質問は何ですか?画像や3Dモデルを作成しようとしていますか? – nmagerko

+1

私は上記の数式をJavaScriptに入れたいと思っています。私はこれが可能かどうかを知りたいのであれば、それをやる方法を学びたいと思っています。 3Dモデルは本当に素晴らしいですが、イメージは涼しいです。私は何を意味するのか理解できますか? – user1087110

+0

"数式の数式の可視化のjavascriptライブラリ"、またはそれらの行に沿って何かを試してみてください。それで何か役に立つものが出てこないのなら...あなた自身はこのようなことを書くことができますが、それは簡単ではありません。 – deceze

答えて

5

あなたはMathematicaを言及しているので、私はTの様々な値について、さらにいくつかの例を提供するためにそれを使用します。私はキャンバスであなたを助けることはできません。

これは、Mathematicaコードである:

With[{a = 3, t = 0.7}, 
RegionPlot3D[ 
    10^-(t x + y)^10 + 10^-(-t x + y)^10 + 10^-(t y + z)^10 + 
    10^-(-t y + z)^10 + 10^-(t z + x)^10 + 10^-(-t z + x)^10 > 
    5/2, {x, -a, a}, {y, -a, a}, {z, -a, a}, PlotPoints -> 50, 
    Boxed -> False, Axes -> None 
]] 

T = 0.2

Mathematica graphics

T = 0.4

Mathematica graphics

T = 0.7

Mathematica graphics

トン= 1

Mathematica graphics

+0

ありがとうSjoerd C. de Vries、海岸ではないこれが何であるか理解しています。これはjavascriptで書かれた式ですか? – user1087110

+2

いいえ、私が上に書いたように、これはMathematicaのコードです。あなたの方程式にはパラメータtが含まれていました。私はtのさまざまな値についていくつかの出力を示し、他の人は少なくとも何を期待するかを知っています(もちろん、Mathematicaを披露するために) –

4

それは間違いなく可能です。 javascript-surface-plotライブラリと作業例はhttp://www.grvisualisation.50webs.com/javascript_surface_plot.htmlです。これは、必要に応じてパンと回転が可能な数式から3Dモデルを生成します。

例のコードを見ると、必要な式に更新する必要があるセットアップ機能があります。数式をJavaScriptに変換するだけです。

私はあなたがこれらのモデルを持っていれば何をしたいのか分かりませんが、このライブラリはあなたの要求に合っているようです。 html canvas 3d plotの検索を行うと、追加のライブラリも表示されます。

+0

ありがとうございました。私の友人は、自分の形を世界と共有したいだけです(彼は科学記事を書いています)。 – user1087110

+1

@ user1087110 Mathematicaを使って作られた3Dグラフィックスをオンラインに置くだけなら、Mathematica <= 5.2またはhttp:// wwwの場合はhttp://www.vis.uni-stuttgart.de/~kraus/LiveGraphics3D/ .javaview.de /他のすべてのバージョン。 – Szabolcs

1

あなたは実際には2つの質問をされています

  1. は、任意の3Dキャンバスライブラリがあります。YESdiscussed here

あなたの場合:YESK3D

  • はjavascriptのためにそこに数学ライブラリです(あなたのように見える)ハードコアの数式を実行している場合は、MatLab/Mapleやダンプそれをファイルに保存し、キャンバスの2Dライブラリを使用してイメージをレンダリングします。私は3Dデータをたくさん持っており、私はそれだけです。私はポイントを計算するPythonスクリプトを実行し、htmlファイルに追加します(Webページはファイルからデータを読み取ることができないので、htmlファイルの一部としてデータを含める必要があります)。次に、htmlファイルをロードして、画像を表示するディスプレイをEaselJS

  • +0

    ありがとう、それをチェックします!このような方程式は、ブラウザが計算するために重くなることを意味しますか? – user1087110

    +0

    @ user1087110いいえあなたのブラウザで重すぎるかもしれませんが、私はそのことを意味しませんでした。私は3D関数のマッピングに伴う複雑さを知らないので、私は言うことができません。私が知っていることは、MatLabのようなものがもっと効率的になるということです。 – puk

    +0

    @ user1087110もしあなたの友人が彼の形を世界と共有したいなら、より簡単な方法があります。シンプルな 'gif'画像ができます。人々が回転/平行移動/傾斜させるようにしたい場合、彼が行う必要があるのは、形状を定義する点を提供することだけです。彼が図形のx、y、z点を提供しているのは、 – puk

    1

    と入力してください。WebGLはこれには理想的でしょう。最新のブラウザではグラフィックスが高速化され、フル3Dでレンダリングできます。

    おそらく、そこから関数からレンダリングできるライブラリがあるかもしれませんが、それは新しい技術であり、あなた自身で多くのことを書く必要があるかもしれません。

    関連する問題