Vai al contenuto
pincopall

Aiuto Cambio Sistema Di Riferimento

Recommended Posts

ciao a tutti,

sono nuovissimo del forum, spero che qui ci sia qualcuno che riesca ad aiutarmi con la mia tesi, anche se dai lavori che vedo facciamo cose un pò diverse usando programmi diversi...cmq:

io sto facendo una tesi basata su una ricostruzione a partire da risonanza magnetica della testa e cervello. Per fare questo uso come programma ( sono delle librerie in C aggiuntive) con cui partendo dalle fette ricostruisco il volume ottenendo questo risulato quello in allegato

Ora su questo modello devo visualizzare delle cose (posizione dei sensori e risultati da MEG. Il problema principale è che loro mi danno le coordinate delle cose da viusalizzare in un sistema di riferimento diverso dal mio! In teoria sembra una cretinata cambiare il sistema ma in pratica sono giorno che sbatto la testa e nn riesco ad uscirne!

Il mio sistema di riferimento ha origine nell'angolo in basso a sinistra mentre usano il sistema PAN. Ora so come si costruisce questo sistema ma nn riesco a fare il cambio...come posso fare? Il formato del volume esce in analyze ma posso salvarlo anche in altri modi...basta che c riesco!

il sistema loro si costruisce nel seguente modo (da mail):

il PAN è costituito sulla base di 3 punti craniometrici: Nasion (N) e i

due

punti pre-auricolari sinistro (A1) e destro (A2).

L'origine è il punto di mezzo tra A1 e A2;

l'asse x coincide con la retta passante per A1 e A2 con direzione

positiva

uscente da A2

l'asse y giace nel piano formato da N, A1, e A2 ed è perpendicolare

all'asse

x nell'origine (non è detto che l'asse y passi per N)

L'asse z è perpendicolare al suddetto piano ed ha direzione tale

che il

sistema sia destro.

Sono proprio questi 3 punti che localizzati sul soggetto (e quindi

espressi

in uno spazio cartesiano del soggetto) e localizzati nelle MRI (e quindi

espressi in uno spazio cartesiano delle immagini) ci permettono di

riportare

sulle MRI dati spaziali acquisiti sul soggetto.

Sul soggetto vengono marcate le posizioni corrispondenti a N, A1 e A2 e

vengono digitizzate. Le stesse analoghe posizioni devono essere

localizzate

sulle MRI.

Tu hai bisogno di sapere dove posizionare N, A1 e A2 nelle MRI.

Ora io ho lacalizzato questi maledetti 3 punti nel mo modello...ma ora non so come andare avanti per portare i punti dal loro sistema di riferimento al mio e visualizzarli...oppure per cambiare il sistema di riferimento al mio volume e portarlo come il loro!

il problema principale è che nn c'è solo una traslazione ma anche una rotazione, e non so di quanto deve ruotare il maledetto asse y!

come posso fare?

spero davvero che qualcuno sappia aiutarmi

post-23369-1146573459_thumb.jpg

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

molto interessante, ma non hai specificato il programma che stai usando, hai parlato di librerie C aggiuntive a cosa?

Dacci qualche informazione per poterti aiutare

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
molto interessante, ma non hai specificato il programma che stai usando, hai parlato di librerie C aggiuntive a cosa?

Dacci qualche informazione per poterti aiutare

l'ho detto ma probabilmente non lo conoscete...è molto specifico purtroppo. Cmq il programma che sto utlizzando ripeto è il VTK (della cineca). Non funziona come CAD ma bisogna andare avanti in codice (supporta vari linguaggi, personalmente sto usando il Tlc che è un linguaggio abbastanza semplice.

Il volume posso salvarlo in un sacco di formati diversi...il problema è che non riesco a cambiare il sistema di riferimento di base di vtk da quello che utilizzano i medici...per questo spero che qualcuno mi sappia dire come fare con qualche programma che magari legge un formato che posso utilizzare, in questo modo cambierei le coordinate e poi lo riconvertirei. Mi serve una cosa standard e veloce (anche uno script andrebbe bene), altrimenti dovrei fare tutto a mano calcolando le varie rette passante per i punti etc...ma ci metto un sacco di tempo e non viene fuori un bel lavoro...nel senso che ogni volta che cambio file nn posso rifare tutto a mano sulle nuove coordinate :(

forte e le ricavi da risonanza magnetiche o da Tac?? :blink2: Interessante :Clap03:

si posso ricavarle da entrambe , dipende da quello che mi serve. Ora sti lavorando alla tesi che si focalizza sul cervello quindi uso solamente le mmagini da risonza magnetica che mi da è informazioni sui tessuti che mi servono. Vicenversa volendo informazioni su tessuti + duri come ossa denti (per la testa o per tutto il corpo ovviamente) posso utlizzare quelli da tac

Questa ad esempio è la ricostruzione da MR di un dottoressa che sta lavorando con me al progetto (è quella di prima ma questa volta faccio il rendering solo della testa...tralasciando il cervello. (in questa immagine avevo ancora la specularità elevata che rifrette un pò troppo..successivamente l'ho abbassata in modo da dare un effetto meno traslucido alla pelle). Ai lati quella forma vicino l'orecchio èa casua del casco che preme!

I punti che si vedono con delle sferette gialle sono i punti cardine del nuovo sistema di riferimento!

vi rego aiutatemi...non riesco ad andare avanti con questo problema che avevo sottovalutato

post-23369-1146586146_thumb.jpg

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

giusto per i curiosi vi faccio vedere la ricostruzione 3d delle ossa ricavata questa volta da TAC (solo testa perchè sono quelle le scansioni che ho per la tesi!

post-23369-1146587124_thumb.jpg

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Scusa , ma ai sensori non puoi aggiungere gli assi in fase di modellazione con lo stesso orientamento degli assi della testa?

Non ho capito molto , cio' che ho capito è che tu hai :

1) oggetto testa con un sua asse XYZ

2) 3 sferette gialle posizionate su ogni asse e quindi uno in prossimità dell'orecchio destro (asse Z positivo o negativo) e una sfera gialla nella parte frontale facciale e una terza sfera non visualizzata e ipotetica sull'asse Y e presumo in direzione positiva verso l'alto.

3) Dei sensori da aggiungere per poter stabilire le distanze tra sensori e l'oggetto letto con la risonanza magnetica.

...quindi il tuo modello è automodellato grazie alla lettura dei dati delle distanze tramite i valori restituiti dalla risonanza magnetica...? Whaooo..

Cmq se devi ruotare gli assi prova con -90,90,0 fai delle prove tenendo presente che le rotazioni avvengono in successione e cioè , prima sull'asse X poi su Y e poi su Z

Se spieghi meglio magari vedo se posso fare qualcosa con il DarkBasic , pero' non perdere tempo visto che hai fretta e concentrati ormai su quello che hai avviato.

per i pan è una traslazione "lineare" di posizione da sx a dx o da su a giu' o da qui a infondo oppure una traslazione "sinusoidale"?

ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Scusa , ma ai sensori non puoi aggiungere gli assi in fase di modellazione con lo stesso orientamento degli assi della testa?

Non ho capito molto , cio' che ho capito è che tu hai :

1) oggetto testa con un sua asse XYZ

2) 3 sferette gialle posizionate su ogni asse e quindi uno in prossimità dell'orecchio destro (asse Z positivo o negativo) e una sfera gialla nella parte frontale facciale e una terza sfera non visualizzata e ipotetica sull'asse Y e presumo in direzione positiva verso l'alto.

3) Dei sensori da aggiungere per poter stabilire le distanze tra sensori e l'oggetto letto con la risonanza magnetica.

...quindi il tuo modello è automodellato grazie alla lettura dei dati delle distanze tramite i valori restituiti dalla risonanza magnetica...? Whaooo..

Cmq se devi ruotare gli assi prova con -90,90,0 fai delle prove tenendo presente che le rotazioni avvengono in successione e cioè , prima sull'asse X poi su Y e poi su Z

Se spieghi meglio magari vedo se posso fare qualcosa con il DarkBasic , pero' non perdere tempo visto che hai fretta e concentrati ormai su quello che hai avviato.

per i pan è una traslazione "lineare" di posizione da sx a dx o da su a giu' o da qui a infondo oppure una traslazione "sinusoidale"?

ciao

grazie 1000 per l'interessamento, ti spiego in breve alcune cose per fare chiarezza (forse nn hai capito proprio benissimo)...quello che ho:

1) modello della testa modellato sui risultati della risonanza magnetica. Il modello ha come assi XYZ l'angolo in basso a sinistra dell'immagine

2)Le sferette che vedi nell'immagine non sono sugli assi della testa, ma sono i punti chiave per costruire il nuovo asse con il sistema PAN. come sis costruisce questo sistema in base a questi 3 punti l'ho spiegato in dettaglio nel post di prima

3) le coordinate di 24 sensore nel sistema di riferimento PAN.

Ora per visualizzare questi benedetti sensori posso usare 2 vie

1) sicuramente migliore ma + difficile da applicare:modellare la testa sui direttamente sul nuovo sistema in modo da usare le coordinate dei sensori senza problemi

2) trovare ma matrice di traslorotazione che mi consente di passare da un sistema di riferimento all'altro: in questo modo in pratica lascio la testa modellata così com'è, e a parte mi trovo la corrispondenza dei punti dei sensori nel mio sistema di riferimento.

La prima soluzione sarebbe prefeibile ma onestamente non ho ma minima idea di come cambiare il sistema di riferimento in vtk...quindi anche se molto meno elegante cercherei di procede con la seconda ipotesi!

Poco fa ho rievuto una mail dove c'è un codice che dovrebbe fare quello che mi serve, scritto dall'ingegnere che prima di me stava lavorando a questo.

Ecco il testo con il codice:

questo è quello che mi è stato inviato poco fa dato che stavo impazzendo a fare un cambio di sistema. Questo codice "dovrebbe" consentire di cambiare sistema di riferimento solamente dando le coordinate di 3 punti.

Questo è quello che mi è stato scritto:

Nella subroutine ci sono due funzioni che devi utilizzare:

la prima si chiama "rotcal" ed è relativa al calcolo della

matrice di

rotazione per il passaggio al PAN. R1 e r2 corrispondono ad A1

(preauricolare sinistro) e A2 (preauricolare destro), rispettivamente.

R3 è il Nasion.

la seconda si chiama "local" ed è relativa

all'applicazione della suddetta

matrice di rotazione

c-----------------------------------------------/ rotcal

c

c calculates rotation matrix for local coordinate system

c

subroutine RotCal (r1, r2, r3, A, iS)

c

c where r1,r2,r3 = points which define plane to use

c as base for local coordinate system.

c r2 is the origin.

c Y = (r1-r2)

c X = normal to plane r1,r2,r3

c Y = line perpendicular to Z in plane

r1,r2,r3

c

c A = rotation matrix returned

c iS = -1 => left handed system

c = 1 => right handed system

c

c

DIMENSION r1 (3), r2 (3), r3 (3)

DIMENSION vI (3), vJ (3), vK (3)

DIMENSION A (3,3)

c

s = 0

do iC= 1, 3

A (iC,2) = r1 (iC) - r2 (iC)

s = s + (A (iC,2)**2)

end do

s = sqrt (s)

c

do iC = 1, 3

A (iC,2) = A (iC,2) / s

end do

c

DX2 = r2(1)-r1(1)

DX3 = r3(1)-r1(1)

DY2 = r2(2)-r1(2)

DY3 = r3(2)-r1(2)

DZ2 = r2(3)-r1(3)

DZ3 = r3(3)-r1(3)

r = -(DY2*DZ3-DZ2*DY3) * iS

s = -(DZ2*DX3-DX2*DZ3) * iS

t = -(DX2*DY3-DY2*DX3) * iS

sU = sqrt (r*r + s*s + t*t)

A (1,3) = r / sU

A (2,3) = s / sU

A (3,3) = t / sU

c

do iC = 1, 3

vI (iC) = A (iC,3)

vK (iC) = A (iC,2)

end do

c

call PV (vK, vI, vJ)

c

do iC = 1, 3

A (iC,1) = vJ (iC)

end do

c

return

end

c

c

c------------------------------------------------/ local

c

c calculates coordinates of point in local coordinates

c

subroutine Local (A, r2, rGlo, rLoc)

c

c where A = rotation matrix (calculated by RotCal)

c r2 = origin of local coordinates

c rGlo = point in global coordinates

c rLoc = returned position in local coordinates

c

DIMENSION A (3,3)

DIMENSION r2 (3), rGlo (3), rLoc (3)

DIMENSION D (3)

c

do i = 1, 3

D (i) = rGlo (i) - r2 (i)

end do

c

do i = 1, 3

rLoc (i) = 0.

do j = 1, 3

rLoc(i) = rLoc (i) + (A (j,i) * D (j))

end do

end do

c

return

end

Ora io non avevo nemmeno sentito mai prima di questo linguaggio (fortran)...come funziona? è come il c che si deve compilare? qualcuno mi può spiegare come fare ad utiliazzare il programma? non mi interessa comprenderlo ma usarlo :)

spero che qualcuno sappia aiutarmi!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

il minimo che posso farti (Con il darkbasic) , è:

1) Caricare la tua testa oggeto in una scena 3D con il suo asse , caricare i tuoi 20 sensori e permetterti diposizionarli manualmente (e poi automaticamente una volta capito dove si devono allocare)

2) Permerterti di visualizzare i valori numerici delle distanze tra i sensori e quello che vuoi

3) Altro a piacere , vedi tu se vuoi provo , pero' poi mi spieghi meglio.

Dimmi se ti va che provo subito.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

il minimo che posso farti (Con il darkbasic) , è:

1) Caricare la tua testa oggetto in una scena 3D con il suo asse , caricare i tuoi 20 sensori e permetterti diposizionarli manualmente (e poi automaticamente una volta capito dove si devono allocare)

2) Permerterti di visualizzare i valori numerici delle distanze tra i sensori e quello che vuoi

3) Altro a piacere , vedi tu se vuoi provo , pero' poi mi spieghi meglio.

Dimmi se ti va che provo subito.

P.S. Secondo me poi per postare il codice dell'ingeniere ,sarebbe stato piu' carino se gli avessi chiesto il permesso per renderlo pubblico , visto che te lo aveva mandato tramite email , cmq questi non sono fatti miei , cmq grazie all'ingeniere per l'impegno.


Modificato da DARKTy

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
il minimo che posso farti (Con il darkbasic) , è:

1) Caricare la tua testa oggeto in una scena 3D con il suo asse , caricare i tuoi 20 sensori e permetterti diposizionarli manualmente (e poi automaticamente una volta capito dove si devono allocare)

2) Permerterti di visualizzare i valori numerici delle distanze tra i sensori e quello che vuoi

3) Altro a piacere , vedi tu se vuoi provo , pero' poi mi spieghi meglio.

Dimmi se ti va che provo subito.

il minimo che posso farti (Con il darkbasic) , è:

1) Caricare la tua testa oggeto in una scena 3D con il suo asse , caricare i tuoi 20 sensori e permetterti diposizionarli manualmente (e poi automaticamente una volta capito dove si devono allocare)

2) Permerterti di visualizzare i valori numerici delle distanze tra i sensori e quello che vuoi

3) Altro a piacere , vedi tu se vuoi provo , pero' poi mi spieghi meglio.

Dimmi se ti va che provo subito.

sei davvero gentilissimo...grazie 1000 :)

solo che c'è un problema...come faccio a darmi la mia testa? io la ottengo con un codice a linea in tlc che una volta lanciato in vtk mi da la finestra con il render...al massimo posso darti il dato grezzo della testa in formato analyze, ma non so se con l tuo programma riesci a leggerlo...e se lo leggi non so che ti visualizza con il dato grezzo :(

poi altri cosa...nn poso posizionarli manualmente perchè non so effettivamente dove sono collocati, ho solo le loro coordinate! So solo che stanno ad un cm dalla testa e sono incorporati in un casco...sono disposti su 2 anelli /12 stanno + vicino e altri 16 + lontano dalla testa...ma la posizione esatta nn la so :(

ma sto fortran che è? dovrebbe darmi la matrice di traslorotazione (con quel programma) e se riusci ad ottenerla avrei risolto il problema

Dimmi se ti va che provo subito.

P.S. Secondo me poi per postare il codice dell'ingeniere ,sarebbe stato piu' carino se gli avessi chiesto il permesso per renderlo pubblico , visto che te lo aveva mandato tramite email , cmq questi non sono fatti miei , cmq grazie all'ingeniere per l'impegno.

vabbè lui mica frequenta i forum, per questo me lo ha mandato via mail :)

ieri ho prvato in maniera alquanto manuale a farmi la matrice di rotazione...con alcuni punti c'era corrispondenza perfetta...con altri invece mi sballava...quindi vuol dire che ci sono andato vicino...ci dev'essere + di una rotazione (io avevo calcolato solo una rotazione intorno all'asse x di 25 gradi oltre alla traslazione

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Localizzati i punti puoi facilmente ricavare i tre assi cartesiani descriventi il sistema di riferimento PAN (intendo pan come il nome del sistema di riferimento "locale" che ti crea problemi, spero di non avere fatto confusione...):

x = A2-A1 (da normalizzare)

calcoli un vettore di supporto s = N-A1

z = prodotto vettoriale tra x ed s (da normalizzare)

y = prodotto vettoriale tra z ed x (da normalizzare)

ovviamente, la matrice costruita con questi tre vettori (riga1:x, riga2:y,riga3:z) descrive la rotazione del sistema di riferimento PAN espressa nel sistema mondiale quindi è la chiave per il cambio di coordinate: se hai dei vertici in coordinate pan che vuoi "mondializzare" devi moltiplicarli per la matrice mentre se viceversa hai dei vertici in coordinate mondiali che vuoi trasformare in pan devi moltiplicarli per l'inversa.

Naturalmente oltre alla rotazione devi trattare anche anche la traslazione dei punti per il cambio di sistema ma a quanto ho capito questo aspetto non ti crea difficoltà; spero di avere compreso la natura del tuo problema, sappimi dire :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

[X PincoPall]

-Ieri non avevo visto che avevi risposto...

-Il fortran è un linguaggio di programmazzione, i vari linguaggi di programmazione sono Basic, Cobol ,Pascal , Fortran

-Per la testa io pensavo che fosse un oggeto 3D (formato .3DS oppure .X) quindi se è un 2D non ci posso fare niente.

-Perchè non lo fate in 3D questo progetto? in modo che si abbia la possibilità di visualizzare a 360gradi la scena e girare intorno alla testa e visualizzare i valori a Monitor o su un display ?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Localizzati i punti puoi facilmente ricavare i tre assi cartesiani descriventi il sistema di riferimento PAN (intendo pan come il nome del sistema di riferimento "locale" che ti crea problemi, spero di non avere fatto confusione...):

x = A2-A1 (da normalizzare)

calcoli un vettore di supporto s = N-A1

z = prodotto vettoriale tra x ed s (da normalizzare)

y = prodotto vettoriale tra z ed x (da normalizzare)

ovviamente, la matrice costruita con questi tre vettori (riga1:x, riga2:y,riga3:z) descrive la rotazione del sistema di riferimento PAN espressa nel sistema mondiale quindi è la chiave per il cambio di coordinate: se hai dei vertici in coordinate pan che vuoi "mondializzare" devi moltiplicarli per la matrice mentre se viceversa hai dei vertici in coordinate mondiali che vuoi trasformare in pan devi moltiplicarli per l'inversa.

Naturalmente oltre alla rotazione devi trattare anche anche la traslazione dei punti per il cambio di sistema ma a quanto ho capito questo aspetto non ti crea difficoltà; spero di avere compreso la natura del tuo problema, sappimi dire :)

allora intanto grazie mille per i suggerimenti...anche se oggi ho beccato il prof di robotica e ne siamo venuti a capo dopo parekkie ore, una volta capito il funzionamento ( l'asse y non passa per il punto N quindi devo prendere la proiezione) ho scritto un programmino in matlab che dati quei 3 punti nel mio sistema locale mi permette ricavare la matrice di roto-traslazione, una volta ottenua questa ho risolto il problema xchè posso passare da un riferimento ad un altro in un secondo :)

CMq grosso modo è come dici tu...anche se poi sorgono altri problemini minori che abbiamo risolto con il prof :)

[X PincoPall]

-Ieri non avevo visto che avevi risposto...

-Il fortran è un linguaggio di programmazzione, i vari linguaggi di programmazione sono Basic, Cobol ,Pascal , Fortran

-Per la testa io pensavo che fosse un oggeto 3D (formato .3DS oppure .X) quindi se è un 2D non ci posso fare niente.

-Perchè non lo fate in 3D questo progetto? in modo che si abbia la possibilità di visualizzare a 360gradi la scena e girare intorno alla testa e visualizzare i valori a Monitor o su un display ?

ovviamente dopo lo sbattimento di stamattina ho deciso di lasciar perdere quel programmino dato che ho scritto poi in matlab e migliore :)

Non capisco...xchè dici che è in 2d? è ovvio che si parla di 3d...infatti stiamo parlando di x,y,z :)

è normale che le foto che vedi sono in 2d...ho fatto uno screen e l'ho salvato...il rendering che faccio io è peò diverso da quello che fate coi con i poligoni, io utilizzo un'altra tipoliogia di volume rendering che va implementata in codice a linee di comndo e sfrutta funzioni come il raycast e via dicendo... l'ingegnere invece aveva lavorato con i poligoni e a quanto pare per questa tipologia di cose il render che sto facendo io va molto meglio. purtroppo ripeto mentre con i vostri progetti alla fine avete un file contenente il renderig...io devo lanciare il programma ogni volta e poi mi appare il volume con cui posso interagire, quindi non posso mandarti nessun file per farti vedere il risultato finale in 3d (se non con degli screen).

Il bello di questo tipo di immagini che oltre a ruotare mantengo le informazioni interne...nel senso che io oltre a ruotare posso entrare nella testa e vedere TUTTO quello che sta dentro...ti assicuro che fa un certo effetto vedere il risultato...purtroppo gli screen non rendono giustizia :) Oltre questo cambiando i valori da linea di comando posso decidere su cosa focalizzare l'attenzione...se ad esempio mi interessano le ossa cambio dei valori e visualizzo solo quelle...e così via!

Morale...problema risolto...per chi fose curioso e vuole vedere qualcosa...chieda e cerco di accontentarlo :)

Oggi ho fatto vedere il lavoro al prof che mi ha assegnato la tesi e mi ha fatto i complimenti, ha detto che non pensava assolutamente che fossi riuscito ad arrivare a questo punto (all'inizio si pensava di usare una semisfera che simulasse il cervello vista la complessita della cosa)...mi ha detto che se voglio posso ovviamente continuare a lavorarci ma che per la tesi finale quello che ho fatto è già molto di + del dovuto...per questo sono contentissimo :)

ora aggiungo sti sensori....e vediamo che esce:)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Bravo , complimenti , per i risultati,

cmq con il dark basic anche io avrei potuto visualizzarti il 3D e la testa con i contenuti desiderati ossa, cervella e strati dei tessuti epidermici,endodermici, mucose ecc.. , pero' chiaramente se fossero anch'èssi come oggetti membri.

Cmq sono curioso di vedere il risultato finale , e siccome sono interessato alla robotica , se il tuo prof ha bisogno di un supporto 3D per qualche altro progetto , io sono qua.

Ciao , non posso risp adesso che devo andare via alle 4.30 poi torno.

se serve qualcosa intelligentony@alice.it

Ciao!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Bravo , complimenti , per i risultati,

cmq con il dark basic anche io avrei potuto visualizzarti il 3D e la testa con i contenuti desiderati ossa, cervella e strati dei tessuti epidermici,endodermici, mucose ecc.. , pero' chiaramente se fossero anch'èssi come oggetti membri.

Cmq sono curioso di vedere il risultato finale , e siccome sono interessato alla robotica , se il tuo prof ha bisogno di un supporto 3D per qualche altro progetto , io sono qua.

Ciao , non posso risp adesso che devo andare via alle 4.30 poi torno.

se serve qualcosa intelligentony@alice.it

Ciao!

il prof di robotico l'ho acchiappo per chiedergli sta cosa della matricce di rototraslazione, per il resto non c'entra niente con la tesi :) Il lavoro mi è stato assegnato dal prof di elaborazione delle immagini sotto richiesta del reparto di neurologia del fatebenfratelli di roma :)

il dark basic che programma è? come funziona? nel senso effettua il rendering a poligoni? è a linea di comando?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

ecco qua un paio di screen della ricostruzione della atesta con i sensori, le prospettive non sono proprio il max, ma in uno screen nn è facile rendere l'effetto del 3d! Ho visualizzato anche gli assi del PAN per far meglio comprendere le posizioni...ho appena notato che credo che il dottore mi abbia dato le coordinate dei sensori solo per l'emisfero sinistro del cervello...ora se vogliono procedere mi devono dare gli altri dati, il mio prof ha detto che per lui ho fatto pure troppo e che se voglio posso chiuedere qua :)post-23369-1146771878_thumb.jpgpost-23369-1146771904_thumb.jpg


Modificato da pincopall

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Il DarkBasic è un linguaggio di programmazione Basic per il 3D e per i file multimediali, praticamente con dei semplici comandi si ha accesso e il pieno controllo degli oggetti 3D , suoni 3D, suoni ,musica,immagini , animazioni, testo ,Input (Joystick ,tastiera ,mouse , e controller anche tipo GUANTI CON SENSORI ) ecc...

Per il momento utilizzo oggetti poligonali in fomato .3ds e .X , quandi diventero' piu' esperto (e mi saro' comprato la versione DarkBasic PRO) potro' anche pensare ad un rendering lineare sfruttando i dati dei vertici degli oggetti , che per potervi accedere richiede ulteriori comandi che sono piu' agevolate nella versione PROfessional.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

oggettivametne ho capito il 2% di ciò che avete scritto, però il risultato sembra una figata!! ^_^

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Il DarkBasic è un linguaggio di programmazione Basic per il 3D e per i file multimediali, praticamente con dei semplici comandi si ha accesso e il pieno controllo degli oggetti 3D , suoni 3D, suoni ,musica,immagini , animazioni, testo ,Input (Joystick ,tastiera ,mouse , e controller anche tipo GUANTI CON SENSORI ) ecc...

Per il momento utilizzo oggetti poligonali in fomato .3ds e .X , quandi diventero' piu' esperto (e mi saro' comprato la versione DarkBasic PRO) potro' anche pensare ad un rendering lineare sfruttando i dati dei vertici degli oggetti , che per potervi accedere richiede ulteriori comandi che sono piu' agevolate nella versione PROfessional.

beh cmq ripeto è un approccio completamente diverso! tu non puoi fare le stesse cose che faccio io perchè procedi con un rendering a basato su poligoni che nn ti permette di visualizzare gli stessi dati che è consentito a me,e questo lo conferma il fatto che ti puoi utilizzare solo dati poligonali. L'ingegnere che ha lavorato fino ad ora (e vhe tutt'ora ci lavora) è rimasto sorpreso dalla resa di questo tipo di visualizzazione rispetto alla sua poligonale. Ovviamente dipende tutto dagli ambiti...sicuramente per moltissime altre cose conviene il rende poligonale!

oggettivametne ho capito il 2% di ciò che avete scritto, però il risultato sembra una figata!! ^_^

grazie...effettivamente sono contento anche io della risultato...e a quanto pare lo sono anche gli altri che mi hanno affidato il lavoro :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
beh cmq ripeto è un approccio completamente diverso! tu non puoi fare le stesse cose che faccio io perchè procedi con un rendering a basato su poligoni che nn ti permette di visualizzare gli stessi dati che è consentito a me,

Che tecnica usi per il rendering, voxel?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Con il dark non ci sono limiti , il rendering puo' avvenire anche in modo lineare , con piccoli accorgimenti tecnici , e sapendo ben utilizzzare i Memblock (in questo campo sul rendering lineare cmq sono poco esperto) , cmq ripeto non ci sono limiti, e il tuo è sicuramente un buon lavoro.

Per i dati delle posizioni degli altri sensori sul lato destro non ti basta specchiare i dati delle coordinate sul piano verticale?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Con il dark non ci sono limiti , il rendering puo' avvenire anche in modo lineare , con piccoli accorgimenti tecnici , e sapendo ben utilizzzare i Memblock (in questo campo sul rendering lineare cmq sono poco esperto) , cmq ripeto non ci sono limiti, e il tuo è sicuramente un buon lavoro.

Per i dati delle posizioni degli altri sensori sul lato destro non ti basta specchiare i dati delle coordinate sul piano verticale?

in linea generale credo di si...ma hanno detto che gli basta quello cho fatto...ora mi hanno fissato un altro incontro per chiedermi di fare un'interfaccia utente e di visualizzare le interconnesione tra le varie zone di interesse...ora parlerò con il prof per vedere se è il caso di prendere anche questi lavori per la tesi... o se magari per la tesi basta così potrei lavorare a questo progetto a parte... vedremo un pò cosa mi dicono loro. Credo che la parte sulle interconnesioni del cervello sia molto interessante ma richieda molto molto tempo

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ti ho risp al privato , inoltre ho finito in questi 2gg un progetto simile al tuo , solo che è anche interattivo e ha già una sua interfaccia per visualizzare i dati delle posizioni di 20 sensori , 4 quadranti in 3D , e la possiblita' di muovere , i sensori con i tasti e di selezionare il sensore da muovere. Con 4 quadranti3D +1 quadrante3D grande + un 2D di interfaccia in avanti risultano 64 FPS .

Volendo posso fare in modo che salva i dati delle posizioni su un file e poi permette di ricare delle posizioni salvate , ci sono altre cose da migliorare per ora ho lasciato un passo fisso di spostamento dei sensori a 0.5 , poi posso renderlo variabile e quindi piu0 grande o anche molto piu' piccolo 0.0001, esagerando anche 0.0000001.

Se lo vuoi vedere dimmi dove ti mando l'exe indipendente (non occorrono file multimediali a parte, ho imparato a includerli nell'exe)

Ciao :-)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×