Petite panoplie du grand séducteur: projet rosier (ou la drague en opengl)

Soyez le premier à donner votre avis sur cette source.

Vue 8 786 fois - Téléchargée 871 fois

Description

Alors, ceci est un petit programme en Delphi et OpenGl, avec un peu de maths. Il manque des commentaires, mais en gros, on va faire tracer à OpenGl une rose qui vieillit au cours du temps, à chaque clic de souris sur la fenêtre la rose renait et change de couleur. Il y a bien sûr une infinité de modèles de roses, choisis au hasard par rapport à un jeu de paramètres incluant la forme, la couleur, le nombre de pétales, la fonction de vieillisement etc...
La fonction à représenter est un champ de surfaces définies en coordonnées polaire qu'on va segmenter en pétales. La tige est juste un cylindre de révolution le long d'une parabole.
La partie programmation est élémentaire, à part pour OpenGl.
La partie mathématique est un peu plus compliquée.

Source / Exemple :


Attention: ne pas enlever le fichier RES de l'archive, il est nécessaire à la compilation puisqu'il contient la texture des feuilles! Une fois compilé, pour une facilité d'utilisation plus grande  (voir plus bas), la texture est incluse dans l'exécutable.

Conclusion :


Timides: en plus de sa valeur d'exemple (après tout on peut s'en servir pour voir comment utiliser opengl!), ce code est peut-être la solution à vos problèmes relationnels. Vous ne pensez plus qu'à elle depuis des mois, elle ne vous a jamais remarqué et vous ne savez pas comment l'aborder parce que vous avez peur de ne pas être la hauteur?
Heureusement Forman est là et a pensé à tout, grâce à ce petit programme que vous ferez tourner devant les yeux ébahis de la belle peu à peu séduite, vous avez une probabilité plus que non nulle de conclure l'affaire! Vous avez même mon autorisation expresse de dire que c'est vous qui l'avez programmé (j'ai une version plus évoluée et plus jolie pour mon usage personnel, mais bon, je la garde pour moi, n'est-ce-pas?). Le code est fait pour ne pas trop ramer même sur une machine relativement lente, comme ça ça pas de problème de ridicule en cas d'utilisation sur une machine étrangère plus lente (si le programme était trop lent, tout l'effet positif serait perdu!).

Effet garanti, testé avec succès par déjà 3 personnes en plus de moi!
;-D

A essayer sur un chat (jamais testé encore dans ces conditions-là, dites-moi si ça marche si jamais vous l'essayez!)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
mercredi 12 mai 2004
Statut
Membre
Dernière intervention
31 juillet 2004

merci pr ce code
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
LPE c'est sympa mais... comment ça fonctionne ?! =0P
Franchement j'ai téléchargé un de tes exemples, c'est énorme !
Comment tu fais pour faire tout ça ?!

Sinon pour ton site je l'avais effectivement vu il y a quelques temps... Ce serait sympa de le mettre à jour, après tout !
Surtout si tu pouvais inclure quelques trucs sur l'IA et les réseaux neuronaux ! ;o)

(tu fais ta pub, je fais ma commande... mdr)

@+
Bestiol.
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
Je cite : "La tige est juste un cylindre de révolution le long d'une parabole"... "Juste" !!!
Franchement je te tire mon chapeau, c'est superbe !
Et encore je ne dis ça que par rapport à la copie d'écran et à la description, parce que j'ai pas Delphi pour compiler...

Forman j'ai voulu aller voir ton site, mais j'ai eu une erreur 404... En enlevant le :8080 que tu as mis dans l'adresse ça fonctionne, mais est-ce bien to nsite ?!
Si oui, deuxième félicitation ! ;o)

@+
Bestiol.
Messages postés
44
Date d'inscription
dimanche 3 février 2002
Statut
Membre
Dernière intervention
22 mai 2006

J'ai essayé de mettre ce que t'as écrit là sur le traducteur altavista mais il ne m'a pas traduit ;-). Ca se voit même pas qu'ils s'entrecroisent en plus je vois bien la miss qui chatte sur cara te dire :
- pfff c'est de la merde ton truc il faut changer le Z-Buffer et diminuer la profondeur du canvas de la fiche

Bon coding A+
Messages postés
600
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
6 avril 2010
1
Oui c'est vrai les pétales s'entrecoupent, mais c'est dû à l'algorithme de Z-Buffer utilisé par OpenGl pour calculer la surface qui est la plus proche de la caméra. En fait, ces valeurs de profondeur sont échantillonnées sur 8 bits je crois, donc dès qu'une droite (imaginaire) partant de la caméra et passant par un des pixels de l'image rencontre trop de faces différentes et trop proches l'une de l'autre, il se produit des petites erreurs d'approximation, ce qui fait qu'on voit des pétales se croiser...
Je crois que pour supprimer ce problème, il faut changer le nombre de bits de profondeur du canvas de la fiche (dans la partie initialisation d'opengl)
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.