|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2005
Messaggi: 156
|
[OpenGL] una sfera fatta di magia :D
Ciao ragazzi,
è da qualche tempo che sto studiando opengl. Il prof. mi ha chiesto una cosa in particolare, vi posto le esatte parole: "P.S. ti ricordo l'esercizio che ti avevo chiesto: disegnare (magari anche in wireframe) la superficie di una sfera composta da tanti triangoli o da tanti quadrilateri. Se ci riesci, mi piacerebbe che tu provassi anche a distorcere la sfera (matematicamente, ovvero modificando il calcolo delle posizioni dei vertici dei triangoli) in modo da schiacciarla sui poli. Se vuoi scioccarmi fai in modo che lo schiacciamento generi due concavita' in corrispondenza dei poli." Ok devo sisegnare una sfera senza roba tipo glutSolidSphere. La settimana scorsa avevo fatto una cosa del genere: nel cap.2 del redbook mostra come approssimare una sfera attraverso un icosaedro (12 vertici e 20 facce triangolari). Per farlo ho specificato i vertici in un ordine corretto utilizzando glBegin (GL_TRIANGLES). Ma facendo in questo modo che vuol dire, matematicamente parlando, modificare il calcolo delle posizioni dei vertici? Io non ho fatto nessun calcolo, mi sono limitato a dire a opengl quali sono i vertici. La domanda è: secondo voi esperti di OpenGL cosa intende esattamente il professore? Spero di essere stato chiaro. Ciao e grazie |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
ogni punto sulla sfera puó essere calcolato matematicamento con le funzioni seno e coseno per esempio:
x = cos(45) * raggio; y = cos(45) * raggio; z = cos(45) * raggio; cosí ottieni un punto della sfera a 45° in tutte le direzioni. puoi anche modificare la funzione e calcolare una sfera schiacciata: x = cos(45) * raggio; y = cos(45) * raggio * .25; z = cos(45) * raggio; |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Jul 2005
Messaggi: 156
|
Quote:
Al momento ho parametrizzato le circonferenze che compongono la sfera. Tuttavia non mi risulta facile costruire i poligoni (traingoli o quads) su queste circonferenze. Però sono fiducioso bye bro |
|
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
OpenGL non c'entra niente, è tutta matematica. devi riuscire a trovare una funzione che generi un grafico inizialmente circolare/ellittico, poi però modificando un qualche parametro deve diventare a forma di "molare", cioè dev'essere una sorta di arco con un buco in cima; se immagini di far ruotare tale grafico attorno all'asse verticale di simmetria ottieni precisamente la forma geometrica chiesta dal professore: una sfera che, modificando un parametro, diventa schiacciata e bucata ai poli. non è molto difficile, devi solo trovare la funzione matematica giusta, che molto probabilmente sarà costituita dalla somma dell'equazione della circonferenza più qualcos'altro che, parametrizzato, possa generare tanto il grafico di una retta orizzontale quanto quello di una concavità. una parabola magari...?
Ultima modifica di 71104 : 26-06-2008 alle 20:39. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:44.




















