|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() |
Bonjour a tous!
Voilà, je m'apprete dans les jours à venir à faire ma premiere contribution sur developpez.com... Je suis entrain d'ecrire un papier d'une trentaine de page lié à la generation d'une planete procéduralement de A à Z: La premiere partie traitera de la generation fractale du terrain (divers algorithme en fonction du relief souhaité: Perlin noise, diagramme de Voronoi, cratérisation et mouvement brownien) La seconde partie traitera de la coloration du terrain: Distribution selon la loi normale (modifié certe) pour mixer les divers type de terrain au bon endroit (herbe, foret, glace etc etc...) La troisieme partie traitera de l'aspect 3d, principalement des shaders en GLSL: Génération de l'atmosphere, utilisation de technique de normal mapping + specular + cloud + cycle jour/nuit Enfin, la quatrieme et derniere partie proposera une implementation en Java avec JMonkeyEngine pour le rendu 3D! Voilà pour le résumé, mais quelques questions me taraude l'esprit: * Est-ce bien en algorithmie que je doit poster cela? Ou partie 2D/3D serait plus approprié... * Je me connais, et je sais que parfois je ne sais pas dutout m'expliquer ![]() J'ai donc peur de passer certains point sensible demandant un peu plus d'eclaircissement! De plus, je n'ai pas eu une formation tres efficace en mathématiques, ce que j'ai appris, je l'ai appris en autodidacte! J'ai donc peur d'avoir mal ecrit certaines formules etc... Bon, dans tout les cas, je posterai demain soir le debut de papier (la premiere partie est déjà pas mal avancée), merci de repondre a mes angoisses!
|
|
|
10
|
|
|
#2 | |
![]() ![]() Inscription : juin 2006 Messages : 6 935 ![]() |
Il n'y a pas de soucis, tu pourras poster ta contribution déjà ici
On jettera un oeil et on contactera éventuellement la rubrique 2D/3D car ça pourra effectivement concerner les deux rubriques. Citation:
__________________
Je ne répondrai à aucune question technique en privé |
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() |
Chose promise, chose dû!
Voici une toute premiere ébauche du papier précités! Il fait tres... ébauche! Bon, désolé pour les fautes, c'est encore le cadet de mes soucis ![]() Pour etre franc, je trouve certaines parties vachements foireuses, des explications sombre et illisibles, donc n'hesitez pas pour vous acharner sur quelques parties! En passant, vous pouvez toujours commenter mes methodes Merci pour les commentaires! |
|
|
00
|
|
|
#4 | |
|
Invité(e)
![]() Messages : n/a ![]() |
Citation:
Tout d'abord, merci beaucoup d'avoir passé tout ce temps pour faire un tel tutoriel. Je lirai ça avec plaisir un de ces 4 En revanche, je vais tout de suite faire une critique, désolé. Si un jour tu as le temps de jeter un coup d'oeil du coté de LaTeX, ce serait super chouette ! Les formules dans le PDF sont mortellement pixelisées, ça pique les yeux.. Mais encore une fois, l'effort est impressionnant. |
|
00
|
|
|
#5 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 818 ![]() |
Très joli tutoriel, tres accessible meme pour les non initiés.
Mes petites remarques sur le papier actuel: - Le plan: je changerai "Partie 2 : Génération des couleurs" par "Partie 2 : Génération des types de terrains", ou quelque chose du style. Cela pour séparer les parties 1 & 2 qui sont plutot "mathematiques" et les parties suivantes qui sont plutot "graphiques". - Partie 1: La fonction de bruit de Perlin n'est pas vraiment '"uniformément distribuée", meme si je comprend ce que tu veux dire par la. D'ailleur, tu pourrais augmenter la "non-uniformité" en choisissant des fonctions "Fi()" discontinues (~ signal carré) pour certaines octaves. Mais c'est un autre débat. - Partie 2: Rien a ajouter: c'est clair et précis. Le résultat obtenu est vraiment beau. Ma seule remarque ( ) c'est que ton approche globale (bruit 3D + filtrage voronoi + proba terrain) va te generer toujours le meme genre de chose pres des cotes: un effet "atole" (bleu clair) dû a une pente "continue" entre la terre et la mer. Il faudrait p-e ajouter qqc dans la partie 1 pour avoir des cassures (falaises ou des fausses marines).- Partie 3: J'attend la partie sur les nuages qui m'interesse beaucoup (perlin noise, le retour ?) PS: Je me permet d'ajouter que j'ai déja pratiqué ce genre de developpement durant mes années d'etudes... Modelisation fractale / L-system, generation textures 2D/3D (perlin), simulation d'evolution (erosion, morph, croissance), rendu gouraud/phong, raytracing, radiosité, ...
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() Inscription : janvier 2007 Messages : 9 590 ![]() |
Citation:
Désolé j'ai pas pu m'empêcher
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle". Consultant indépendant. Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie. C, Fortran, XWindow/Motif, Java Je ne réponds pas aux MP techniques |
|
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() |
Merci pour vos remarques!
alex_pi > comme tu dis, je vais me lancer dans Latex! Bon là j'apprend encore >.< mais c'est sympa je trouve pseudocode> Merci beaucoup. Pour les falaises, c'est vrai qu'actuellement c'est pas encore ça! J'ai pas encore trouvé la solution, donc si jamais t'a une petite idée n'hesite pas! Pour les nuages, je pense que cela va etre relativement difficile, etant donné la presence de diverses sous structures et la repartition de front nuageux... (http://www.kuffner.org/james/gallery...rth_clouds.jpg) Je tenterai bien une marche au hasard avec gestion de fronts (en fait des courbes) , accompagné d'un algorithme de "swirl" au niveau de l'équateur pour la generation de cyclones! Je vais aussi ajouter une petite explication sur la projection de Mercator, et dés que j'ai le temps effectuerai une modification de ma carte en fonction (exemple: http://local.wasp.uwa.edu.au/~pbourk...perlin/sun.gif ) Sinon je m'occupe transformer ce debut en latex puis taper la partie 3 sur l'illumination et les shaders |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() |
Bon, le portage sous latex est moins compliqué que prevu
Tres sympatique systeme, la syntaxe est pas trop complexe (quoique...) Sinon, j'ai enfin reçu ma commande d'Amazon.com: http://www.texturingandmodeling.com/ Pour les nuages, je risque d'avoir vite fait une solution, y'a un chapitre complet dessus! Sinon, existe-t-il un ftp ou tout autre moyen ou je puisse placer les mises à jour de mon document? |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() |
Hop petit up! J'ai mis le fichier latex, mais c'est dvi + postscript, le format PDF n'arrive pas a sauvegarder les images...
Apparament il faudrait passer par ghostscript, et imprimer le dvi vers un fichier pdf (quel bordel!) Je ferai ça un peu plus tard Enfin bon déjà j'ai bien avancé, il manque pas mal d'image, je dois convertir en fichier .eps... c'est long J'ai ajouté toute la partie sur les shaders! J'ajoute les images, la cratérisation, et je me lance dans la derniere partie: l'implementation en Java avec JMonkey Merci d'avance pour les remarques (bonne et mauvaise) Edit: bon les images ne sont pas presente, alors je refilerai au format PDF demain soir... |
|
|
00
|
|
|
#10 | |
![]() ![]() Inscription : juin 2006 Messages : 6 935 ![]() |
Citation:
Il faut que je jette un oeil à ton document ce soir (je n'ai rien pour lire les .rar sur place). On pourra éventuellement t'ouvrir un domaine sur developpez si tu le souhaites (donc tu auras un ftp) et la possibilité de créer une entrée vers ton article du style : http://humbert-florent.developpez.com/ ?
__________________
Je ne répondrai à aucune question technique en privé |
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() |
Ce serait avec plaisir (ouah la classe
Plus serieusement, en meme temps ça ne presse pas! Pseudo code: Pour les falaises j'ai trouvé une bonne technique, il suffit de... baisser l'ecart-type sur la pente sur le terrain de type "atoll"! De ce fait, si la difference entre le planché océanique et le continent est trop forte, cet effet disparait Voilà le resultat (avant = a gauche, apres = a droite) ![]() (on voit mal, sauvegarde en jpg avec paint -_-') |
|
|
00
|
|
|
#12 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 818 ![]() |
Citation:
.Tu peux aussi faire l'effet inverse: créer des plages de sable le long des cotes. Il faut juste creer une probabilité pour cette nouvelle texture (pente faible, proche de l'eau, orientation, ...) felicitations pour cette contribution ![]() (Ca me donne presque envie de recoder en Java mes vieux algos de rendu C/Asm)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#13 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 818 ![]() |
Ca y est. j'ai retrouvé mon vieil algo en C du temps de mon atari ST (
) et je l'ai porté en java Bon, bien sur ca vaut pas celui de anykeyh, surtout au niveau texture
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#14 |
|
Membre habitué
![]() |
Bon pour les nuages je pense utiliser une approximaiton des équations de Navier Stokes!
Parcontre, je sais pas si j'ai le niveau ![]() L'objectif serait de calculer après N iterations la densité de matiere (en l'occurence de nuage) à chaque point sur une surface 64x64, à resampler cette surface et à moduler par un Perlin Noise! ça peut le faire non? Si jamais vous avez de bon exemples de l'utilisation dans le cadre d'une simulation 2D, je suis partant (la je suis entrain de regarder un bout de code qui semble pas mal, mais au plus sa avance au plus je me dit que ça va etre complexe )
|
|
|
00
|
|
|
#15 | |
![]() ![]() Inscription : juin 2006 Messages : 6 935 ![]() |
Citation:
Tu peux jetter un oeil à mon cours : http://humbert-florent.developpez.co...hmique/fluide/ (non non, je fais pas de pub )
__________________
Je ne répondrai à aucune question technique en privé |
|
|
|
00
|
|
|
#16 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 818 ![]() |
Citation:
http://xray.club.fr/t2399735/PG2001_ryomiya.pdf Sinon, pour un realisme purement "visuel", tu peux utiliser directement Perlin en prenant comme fonctions "noise 2D" des images avec des nuages. ![]() Ou encore utiliser un generateur de texture en prenant comme motif une image avec des nuages.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#17 |
|
Membre habitué
![]() |
Bonsoir, et désolé pour le temps de reponse, j'ai eu quelques peripethies avec ma machine (ce qui me fait passer de gres ou de force à Linux xD)
Pseudo code: Pour la génération des nuages, il est vrai que ta methode de perlin noise avec des fonctions textures rend plutot pas mal! Sinon je compte tout de meme implementer Navier-Stokes, juste "pour voir" Dans le bouquin que j'ai achété (Texturing and Modeling: a procedural approach) il y a toute une partie sur la génération de planete de façon procédural, que je vais commencer à lire Mais bon, pour tout de suite ça va etre mise à jour de la machine, installation de tout les logicielles nécéssaire (pour TeX, Java etc...) Je vous tiens au courant |
|
|
00
|
|
|
#18 |
|
Membre habitué
![]() |
Bon j'ai fini par comprendre les equations navier-stokes, et maintenant sa tourne impeccablement!
J'ai utilisé pour cela la methode de l'advection de vitesse, l'advection de densité, calcul des coefficients de divergence, calcul des pressions puis calcul du gradient de pression et modification du champ vectoriel des vitesses (ouf!) Et le tout tourne à 20fps/sec en 128x64 (optimisations surements possible!) Parcontre, j'ai remarqué que je n'ai pas pris en compte un parametre important pour la génération de mes nuages: la force de Coriolis Ce qui fait que je n'ai pas (encore) de cyclone, depression tout ça D'ailleurs j'ai peut-etre une petite questions à propos de cela: Je me base sur Wikipedia (http://fr.wikipedia.org/wiki/Force_de_Coriolis), et la je vois: "Omega: la vitesse angulaire de rotation"... Cette vitesse change-t-elle en fonction de la latitude? (Mes notions de physiques remonte à loin )Le fait de pouvoir generer le mouvement a 20fps m'a donné une idée de shaders et gestion multithread (que j'explorerai plus tard sinon j'aurai jamais le temps de finir le papier Je placerai quelques screens demain! |
|
|
00
|
|
|
#19 |
![]() ![]() Inscription : juin 2006 Messages : 6 935 ![]() |
Pour information, tu as utilisé quoi pour navier et stokes ?
__________________
Je ne répondrai à aucune question technique en privé |
|
|
00
|
|
|
#20 |
|
Membre habitué
![]() |
J'ai pas les sources sous la main (au boulot), mais je me suis inspiré de ton doc (mais j'ai pas tout à fait le niveau malheureusement
Je ne connais pas le nom de la methode (quoique, je crois que c'est methode de Jacobi?) Mais en gros: Advection de la vitesse Advection de la densité par le nouveau champs de vitesses Calcul d'un champ scalaire caracterisant la divergence de la vitesse (x21-x01)+(y12-y10) Calcul de chaque point de pression depuis la densité (moyenne au voisinage de Von neuman moins la divergence au point courant) << à faire N fois pour plus de precision Calcul du gradient de pression (gx = (p21-p01)/2, gy = (p12 - p10)/2) Modification du champs de vecteur vitesse (soustraction du gradient de pression) Note: je note le voisinage de von neumann ainsi: J'ai ajouté une etape preliminaire de modification de la densité selon les précipitations (pas encore au point |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com