opengl fonctionne en SDL non??
alor il te suffit de blitter une moitier de sphere!!^^
Et non, car on utilise pas les fonctions de la SDL pour l'affichage; uniquement de l'OpenGL.
Pour se remettre dans le contexte, OpenGL ne permet que de dessiner une scène 3D dans un conteneur (une fenêtre).
Encore faut il donc choisir une bibliothèque pour gérer la fenêtre. Les plus utilisés sont SDL, glut, on encore celle propre à windows.
Pour ce qui est de l'affichage d'une demie sphère, je ne crois pas que ce soit possible. Ca l'est peut être, mais je n'en ai jamais entendu parlé.
Les cours sur les quadrique n'en parlent pas non plus. http://www.siteduzero.com/tuto-3-7124-1-les-quadriques.html
L'importation d'un modèle reste peut être la meilleur solution ?
alors je me plante pas je veux bien une demi sphere.
Je n'utilise pas la sdl mais fltk pour la gestion des fenetre.
Le rayon de sphere n'est pas forcement 1 exemple 0.5.
Pour ce qui est de coder le fonction sa fait peux etre gros surtout qu'il n'y a pas que sa a faire tourner.
La question sur le model et de savoir si l'on peux modifier ces cote pandent une excution du programme?
Le rayon de sphere n'est pas forcement 1 exemple 0.5.
Au temps pour moi désolé.
Citation : dorone
Pour ce qui est de coder le fonction sa fait peux etre gros surtout qu'il n'y a pas que sa a faire tourner.
Oui, mais en revanche, si tu veux à chaque fois faire un model stocké sur le disque dur pour un solide un peut compliqué, tu ne vas pas t'en sortir.
Citation : dorone
La question sur le model et de savoir si l'on peux modifier ces cote pandent une excution du programme?
Tu veux dire "modifier la géométrie" ?
Oui tu peux, puisque normalement tu es de toute façon obligé de coder ta propre fonction d'import de model 3D si tu travailles avec OpenGL,
Et donc il te suffit de modifier les coordonnées des points indexés dans le tableau (ou la liste). A condition bien sûr, que tu saches ce que tu fais avec les points, parce que je vois pas trop l'intérêt de les modifier à la main dans le prog, a moins d'automatiser les modifs par un algorithme...
Ce code (que tu appelles via la fonction "Sphere") te pond une sphere entiere. En fait, il fait 8 huitiemes de sphere : il te suffit de commenter les 4 denieres lignes de la fonction sphere poru avoir les demi spheres.
Note1 : passe 2 ou 3 en parametre : c'est la précision du nombre de triangles a mettre : c'est exponetiel, évite de passer un nombre plus grand que 4 ou 5...
Note2 : ces fonction utilisent ma classe Vecteur : il s'agit d'un objet qui surcharge l'arithmétique des points et vecteurs, je te laisse adapter...
merci pour ce jolie code. je vais voir exactement quoi utiliser car la boucoup de solution
edite:10/07/07
bonjour,
je croix que je devient fou car suite a quelque codage la manipulation du logiciel devient trop mal faitte. J'aurais aimer cette fois savoir comment les logiciel de cao font pour faire une revolution etant donner qu'il ny a pas de fonction de basse.
je dévelope un peux, l'utilisateur va desinner la forme voulut, sa c pas le probleme il la desine en 2d mais apres je doit afficher le rendu dans la fenetre gl le probleme donc comment passer de sa
Je sais pas si ca peut d'aider mais si tu veux la formule d'un cercle (aprés tu te débrouille pour l'appliqué et le dessiner).
R² = (X - A )² + (Y - B )²
Donc A et B c'est l'origine du cercle
R c'est le rayon
Et puis X et Y c'est les coordonnées des points qui serons sur le cercle.
on peut aussi l'écrire (avec un peu d'aide de wiki et oui la terminal et bien loin 2 ans avait oublier le X² + Y² = 1 )
Y = B - racine ( R² - ( X - A ) ² )
Y = B + racine ( R² - ( X - A ) ² )
Donc tu parcour donc tout ton image et puis tu desine ton ou tes points.
pour faire des surfaces de révolution, déja, les logiciels de CFAO n'utilisent pas de triangles : tout se fait avec des BREP de surfaces analitiques.
Pour décrire une surface de révolution, il faudra te servir de sinus et de cosinus, entre autres.
Ensuite, pour la discrétiser (mise en triangles) tu prendras quelques points significatifs sur la surface analitique. Mais en interne, c'est pas des triangles : c'est surtout des NURBS.
re, la pige plus rien apres quelque recherche je ne comprend pas comment on fait exactement.
j'arrive a calculer tous le point meme a la dessiner en 2d mais pas la modeliser avec des surface.Pour etre fran faudrais me developer comment placer les nurbs car je peux en faire une avec tous mais d'apres ce que j'ai compris ces une mauvais idée.
Relier un serie de point cerait peux etre plus facile non ?
je ne veux pas de code juste un peux plus de developement
Bah au pire, je ne mesure pas la difficulté comme ça sur un coup de tête, mais pourquoi ne pas créer une classe Demisphere que tu coderai intégralement avec des glVertex3d(x, y, z); ?
Regarde, tu crées un point. A partir de là tu crées des triangles tous isocèles. Et à partir de là, tu peux créer des QUADS en partant de chaque sommet n'étant pas la base d'un triangle. Je pense que ça ne ce fait pas comme ça mais en réfléchisant bien ça ne doit pas être la fin du monde si ?
salut le probleme a un peux changer j'ai du editer un messega est tu na pas du le voir.
maintenen le but est de faire une revolution le codage de la sphere ne resoudrais mon probleme que pour un rendu d'un outils tros lourd de faire sa pour tous les outils et sur l'evolution du programme il faudrais tou recoder.
le problemme de la revolution ces que je ne touve pas de suprerbe exemple sur les nurbs.
Oublie tout de suite cette histoire de Nurbs: c'est pas du tout adapté à la situation. C'est éventuellement utile pour décrire des surfaces est des courbes dans des logiciels de modélisations, style 3dsmax, maya, ou encore pour faire du design industriel. Juste pour dessiner une hémisphère, en faisant une révolution, il faut procéder ainsi: (ça va donner une UV Sphere, pour les familiers de Blender.)
Tu definis un profil, à l'aide de quelques points, sur un plan. Par exemple un quart de cercle centré en (0,0,0), dont une extrémité est en (1,0,0) et l'autre en (0,1,0). Pas besoin de beaucoup de point, 5-6, c'est déja pas mal. Tout dépand de la résolution que tu veux obtenir. Ensuite, tu fais tourner ce profil autour d'un axe de révolution, dans notre cas, ca pourrai etre le vecteur (1,0,0). Ca va te donner un ensemble de points qui décrivent approximativement une hémisphère. Après, à toi de te débrouiller pour appeler glVertex3* dans le bon ordre, avec les bon point. Encore mieux, mais visiblement t'en est pas envore là: utilise un VBO pour le rendu, ca sera plus rapide.
PS: essaye de formuler des phrases intelligibles et avec moins de fautes, ça sera plus agréable à lire pour tout le monde. (et t'aura moins de réponses à coté de la plaque.)
Le probleme c'est que je suis partie dans ton sens pendant un moment et que apres mure reflextion je doit faire une revolution car je ne gere pas que des 1/2 sphere.
j'ai trouver des explication sur les revolution mais j'avoue cas mon niveaux de math et de opengl ces assez dur a mettre en place.
Il me faudrais plus d'aide surr le principe de revolution
merci
++
[edit]
je ferme le sujet car le probleme de la sphere est resolut
désolé de remettre le sujet au goût du jour vu que ton problème est résolu, mais une solution toute simple serait de faire un plan de clipping. Enfin à mon avis cela devrait fonctionner.
Et la mise en oeuvre serait toute simple !
[opendgl]
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html