2009-11-30 13 views
6

私は視覚的な人です。私が何かを視覚化することができれば、それはしばしば私にとって意味があります。C#でのシンプルな3Dレンダリング

単純な視覚化に使用するために3Dでデータをレンダリングする簡単な方法はありますか?私は効果的にやりたいことは、次のとおりです。

私はのInt32のの3次元配列があります。

Int32[,,] data = new Int32[256,256,256]; 

を私はデータで、この配列を記入し、基本的には今、3D空間でこれをレンダリングしたいと思います。 X、Y、Zのいずれかを選択し、データが0より大きい場合はドットを配置します。Basic

視野角を変更できることはボーナスになりますが、必須ではありません。

実際の3Dエンジンを使用するのに十分な3Dレンダリングを検討していないので、その方が簡単です。

何か助けを借りて、ポインタがいいです。

おかげ

答えて

5

WPF(Windows Presentation Foundation、.net 3.5に含まれています)は、3Dレンダリングを非常に簡単に(または以前よりも簡単に)行うことができます。次のチュートリアルを見て:

http://www.kindohm.com/technical/WPF3DTutorial.htm - 元のリンクが死んだが、記事はまだarchive.orgで見つけることができ、http://web.archive.org/web/20131122141342/http://kindohm.com/technical/WPF3DTutorial.htm

それは小さな3Dビューポートと位置を作成する方法を示しています内部の単純な要素。

+1

私はWPF/WPF3Dを単に3Dデータのグラフ作成を開始することをお勧めしません。 3Dシーンを設定することは容易ではありません。データから三角形メッシュを作成し、適切にシーンを照らし、正しい角度でカメラを正しい位置に配置する必要があります。そしてWPFを学ばなければなりません。それはちょうど始めることです。次に、さまざまなZ値のメッシュに色をつけ、グラフ上におそらくxyz軸を置くことが必要になります。 MicrosoftやDundasChartのチャートコントロールを使用しています。 –

+0

記事のクイックスキャンから、3Dエンジンを実装するよりもシンプルではないようですが、少なくとも簡単です。記事を読んで例を試した後、私は報告します。 – Gineer

+2

私は今、この記事を通して自分の道を盗み、私がやるべきことを正確に行うことができました。私はかなり複雑なデータを視覚化し、実行時に任意の方向にグラフを拡大/縮小することができます。これは、.NETの観点からこのタイプのものに取り込みたいと思っているのであれば、これまでのところ実を結ぶ例です。 – Gineer

1

のMicrosoft .NETグラフコントロール - hereをダウンロードしてください。 Excelで3Dチャートを使用するようなものです。

+0

ありがとうございます。シンプルにすることは常に重要ですが、この場合は、タイプグラフを凌駕するだけでなく、表面3Dサーフェスグラフが優れていると思います。私が持っているデータはかなり複雑で、データが存在する仮想キューブの中に3Dドットを配置する必要があります。事は、データの外面だけでなく、立方体の内部を見る必要があるということです。 – Gineer

関連する問題