|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Roma
Messaggi: 288
|
Algoritmi per triangolazione
Non so se è il posto giusto, ero indeciso se postare su programmazione ma penso che qui possiate darmi risposte più mirate: sto scrivendo un programma che dovrebbe renderizzare delle mesh in 3D, il programma è scritto in Delphi e utilizzo come motore 3D GLScene, per utilizzare l'API OpenGL. Il motore è molto buono ma a me servirebbe poter creare delle mesh irregolari a partire da poligoni irregolari con una funzione extrusion, in pratica ho i miei poligoni ordinati secondo la coordinata y l'uno sull'altro e devo ricreare questo solido particolare, il tutto serve a generare l'aspetto 3D di strutture interne al corpo umano delineate su immagini TAC o anatomiche in 2 dimensioni. Qualcuno sa dirmi dove potrei cercare quello che mi serve?
Grazie a tutti |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2002
Città: Nuraminis (CA)
Messaggi: 955
|
forse dovresti chiedere nella sezione sulla programmazione... ... anzi già che ci sono mi potresti dare una mano su questo: http://forum.hwupgrade.it/viewtopic.php?t=364533 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 1108
|
non ho capito molto bene la domanda:
cosa devi fare? - estrudere dei poligoni mentre li renderizzi - hai dei poligoni a tanti punti e devi triangolarli per poterli dar da mangiare al motore grafico - altro e dies non ha proprio capito una sega altra cosa: i poligoni ordinati per y, cosa vuol dire? la y va "in su" o "dentro lo schermo" ? se quello che devi fare e' estrudere lungo l'asse y i tuoi poligoni: (assumendo che i poligoni non siano altro che una lista di pointer ai vertici che toccano) -fai una copia di tutti i punti e abbassali di un po' sull'asse y. -ricrea i poligoni della faccia sotto usando lo stesso ordine dei poligoni della faccia sopra (se i poligoni sono una lista di indici dei punti dovrebbe essere abbastanza facile) -la parte noiosa sara' fare i poligoni sui bordi. Quello che puoi sapere e' che: tutti i poligoni che devi creare sono dei 4-points. per ogni copia A-B di punti vicini sul poligono originale esiste una copia (A+x)-(B+x) che appartiene al poligono "in basso", e ti bastera' creare un poligono A-B-(B+x)-(A+x). purtroppo pero' non avendo altre informazioni non posso aiutarti molto di piu'
__________________
-sei per l'ascesi? -si, sono per l'accidia sentimentale -già... se ti cade una donna sul cazzo tanto meglio... e secondo la teoria dei grandi numeri. (dalle lettere tra geng@ e dies) |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2002
Città: Roma
Messaggi: 288
|
Quote:
Grazie ancora So che avrei potuto postare anche in programmazione ma il Xposting non è consentito (anche se una volta tanto poteva serivre |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 1108
|
OK, quello che hai bisogno e' come trovare un punto su una retta all'altezza Z. poniamo che hai A e B, vuoi trovare D che si trova in mezzo ai due all'altezza Z.
sai che pendenza = (Zb - Za)/(Xb-Xa) e soprattutto che Xd = Xa + (Z - Za)/pendenza. Zd = Z. mo' per triangolare i tuoi poligoni... prendi il punto piu' in alto e guardi le due linee che partono da quello. prendi la piu' "lunga" sull'asse z e la tagli all'altezza dell'altro punto sull'altra retta. cosi' in pratica stai tagliando fuori un triangolo con la base piatta. Quello che ti resta sara' un altro triangolo se hai culo, se no, di nuovo, prendi il punto piu' in alto, e segui le due linee che partono da li' e tagli il segmento piu' lungo alla stessa altezza del segmento piu' corto... ecc ecc...
__________________
-sei per l'ascesi? -si, sono per l'accidia sentimentale -già... se ti cade una donna sul cazzo tanto meglio... e secondo la teoria dei grandi numeri. (dalle lettere tra geng@ e dies) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:18.



















