2009-11-30 4 views
6

Sono una persona visiva, se riesco a visualizzare qualcosa che per me ha più senso.Rendering 3D SEMPLICE in C#

Esiste un modo semplice per il rendering dei dati in 3D da utilizzare per visualizzazioni semplici? Quello che effettivamente vorrei fare è la seguente:

ho un array dimensionale 3 di Int32 di:

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

riempio questo array con i dati, e sarebbe fondamentalmente vuole rendere ora questo in uno spazio 3D . X, Y e Z e posizionare un punto in cui i dati sono maggiori di 0. Base

La possibilità di modificare l'angolo di visione sarebbe un bonus, ma non essenziale.

Non ho esaminato abbastanza il rendering 3D per utilizzare nessuno dei veri motori 3D là fuori, quindi il più semplice è il migliore.

Qualsiasi aiuto, i puntatori sarebbero carini.

Grazie

risposta

5

WPF (Windows Presentation Foundation, incluso in .net 3.5) rende il rendering 3D abbastanza facile (o almeno più facile di prima). Date un'occhiata al seguente tutorial:

http://www.kindohm.com/technical/WPF3DTutorial.htm - link originale è morto, ma l'articolo può ancora essere trovato alla archive.org, http://web.archive.org/web/20131122141342/http://kindohm.com/technical/WPF3DTutorial.htm

Essa mostra come creare una piccola finestra 3D e la posizione elementi semplici dentro

+1

Non consiglierei WPF/WPF3D semplicemente per iniziare a rappresentare graficamente i dati 3D. L'impostazione di una scena 3D non è semplice: dovrai creare una mesh triangolare dai dati, illuminare correttamente la scena e posizionare la videocamera nella posizione corretta ad angolo retto. E poi devi imparare WPF. Questo è solo per iniziare. Quindi probabilmente vorrai colorare la mesh per vari valori Z, e probabilmente mettere assi xyz sul grafico. Mi occuperei di un controllo grafico, da Microsoft o DundasChart. –

+0

Da una rapida scansione dell'articolo, non sembra semplice, ma per lo meno più semplice dell'implementazione di un motore 3D. Ti riporto dopo aver letto e tentato gli esempi nell'articolo. – Gineer

+2

Ora mi sono macellato in questo articolo e sono stato in grado di fare esattamente ciò che avevo deciso di fare. Sono in grado di produrre una visualizzazione di dati abbastanza complessi e di ingrandire e inclinare il grafico in qualsiasi direzione in fase di esecuzione. Questo è di gran lunga l'esempio da utilizzare se si desidera entrare in questo tipo di cose da un punto di vista .Net. – Gineer

1

Microsoft .Net Chart Control - scaricare here. È come utilizzare la creazione di grafici 3D in Excel.

+0

Grazie per questo. Mantenerlo semplice è sempre la chiave, ma in questo caso ho bisogno di un po 'più di un semplice tipo di grafici di Excel, altrimenti i grafici di superficie 3D di superficie eccellente avrebbero fatto il trucco. I dati che ho sono abbastanza complessi e avrebbero bisogno che io inserissi punti 3D all'interno di un cubo virtuale in cui sono presenti i dati. Il fatto è che avrei bisogno di vedere l'interno del cubo, non solo la superficie esterna dei dati. – Gineer