Pages (2): [1] 2 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Forum De Bell Tolls (http://www.dsy.it/forum/forumdisplay.php?forumid=7)
-- [PROGRAMMAZIONE] OpenGL (http://www.dsy.it/forum/showthread.php?threadid=4909)
[PROGRAMMAZIONE] OpenGL
Come si puo' fare per avere le coordinate di un punto?
Finora non ho trovato una funzione per averle....
Conoscerle a priori e' un bel po' problematico perche' ho una gerarchia di matrici innestate con deformazioni, rotazioni e traslazioni varie (sto facendo un braccio e la gerarchia mi serve per la cinematica, e devo conoscere le coordinate della "mano" per gestire le collisioni con altri oggetti da raccolgiere)
ehm... se disegni un punto devi conoscerne la posizione quindi o conosci la posizione o non la conosci.....
misonopersoqualchecosa?
spero di essermi capito..
__________________
I sense much NT in you, NT leads to Blue Screens,
Blue Screens lead to downtime, downtime leads to suffering.
NT is the path to the Dark Side....
in linea teorica si.... ma sto disegnando un braccio meccanico... e ogni pezzo e' gestito da una o piu' matrici per la traslazione, rotazione e scalatura... dovrei fare una serie semi-infinita di calcoli che tengano conto di tutte queste trasformazioni di spazio per conoscere le coordinate della mano... (magari e' anche un po' piu' semplice, ma le mie conoscenze di geometria spaziale sono un po' scarsine )
cmq accetto suggerimenti
scusa non capisco il problema.
Lo stai gia disegnando? o sei a un punto teorico?
Tramite le varie trasformazioni ottieni un punto in cui si trova l'ogetto che stai disegnando altrimenti non lo potresti disegnare quindi puoi usare quella posizione anche per le collisioni...
__________________
I sense much NT in you, NT leads to Blue Screens,
Blue Screens lead to downtime, downtime leads to suffering.
NT is the path to the Dark Side....
io disegno quell'oggetto ma non ne conosco le coordinate spaziali...
e devo fare un confronto da due terne di coordinate per gestire le collisioni...
(probabilmente e' perche' non conosci opengl che dici cosi'... e probabilmente e' perche' non le conosco nemmeno io che non riesco a capire quali siano le coordinate dove sto disegando... )
il punto é: se lo stai disegnando da qualche parte le coordinate ci sono..
Il punto é scoprire dove sono..
Per il resto non so se esiste qualche funzione per ottenere il punto n cui si trova l'oggetto.. a parte che non ti aiuterebbe molto in quanto dovrestoi poi ottenre anche l'orientamento dell'oggetto per sapere quanto spazio intorno al punto centrale é occupato dall'oggetto stesso..
Aiut..
__________________
I sense much NT in you, NT leads to Blue Screens,
Blue Screens lead to downtime, downtime leads to suffering.
NT is the path to the Dark Side....
infatti e' quello che chiedevo all'inizio: se esiste una qualche funzione misteriosa che mi dia le coordinate attuali dell'oggetto...
poi da qua e' piuttosto semplice sapere se un oggetto entra nel volume di spazio attorno a queste coordinate
hai provato a cercare qualcosa su www.opengl.org?
se non sbaglio da qualche parte li c'è anche un forum...
__________________
http://www.twitter.com/0m4r
ho cercato, ma invano... non ho ancora provato il forum pero'... adesso vo'
sparando alla cieca ho trovato una object->GetXPos()...
non é che é quello che cerchi?
:ciaociao:
__________________
I sense much NT in you, NT leads to Blue Screens,
Blue Screens lead to downtime, downtime leads to suffering.
NT is the path to the Dark Side....
ho provato a cercare un po' questa getXPos... ma non mi sembra una funzione delle librerie opengl (almeno nella guida che ho non c'e'...), mi sembra piuttosto qualche funzione creata ad hoc da qualcuno (e tra l'altro non ho trovato ancora il codice dove viene definita, ma solo dove viene utilizzata...)
tnx comunque...
Uhm... forse che forse ho risolto... in teoria con un
glGetFloatv(GL_MODELVIEW_MATRIX);
dovrei ottenere l'attuale matriciona totalona che comprende tutto e da essa ricavare le coordinate con una qualche moltiplicazione fra matrici (grazie Tamberlo ), devo solo scoprire come.... e fino a stasera quando tornero' a casa non potro' saperlo (non ho la robba qua in silab )
http://www.opengl.org/developers/do...tion/index.html
io ti consiglio anche di dare un'occhiata alla documentazione e alle specifiche.
__________________
http://www.twitter.com/0m4r
muahahahah ce l'ho fatta (quasi )
ho fatto la funzione
code:
void trovaCoord(float *posizioneCorrente) { float M[16]; glGetFloatv(GL_MODELVIEW_MATRIX, M); GLfloat res[4]; res[0]=M[ 0]*1+M[ 4]*1+M[ 8]*1+M[12]*1; res[1]=M[ 1]*1+M[ 5]*1+M[ 9]*1+M[13]*1; res[2]=M[ 2]*1+M[ 6]*1+M[10]*1+M[14]*1; posizioneCorrente[0]=res[0]; posizioneCorrente[1]=res[1]; posizioneCorrente[2]=res[2]; }
perchè non provi a chiedere aiuto anche agli amici del Forum di grafica ospitato nella sezione "hosted forumz"?
__________________
http://www.twitter.com/0m4r
All times are GMT. The time now is 03:05. | Pages (2): [1] 2 » Show all 18 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.