kelk´un pourrait-il me dire si celà est possible de créer une application ( niveau de la mémoire fodré combien ? ), pouvant gérer un mini système solaire avec un pc assez puissant avec quelques gigas de RAM... ( un double G5 avec 8Go de RAM serait l´idéal mé bon... lol):
-un point lumineux au centre ferait notre soleil, fixe:
-on suppose que la terre est une sphère parfaite, elle devra donc tourner sur un plan elliptique autour du soleil ( imaginez la distance ! donc la quantité de mémoire rien pour l´espace 3D ! !!)
-la terre tourne autour de son axe de rotation
-on suppose que la Lune est une demi-sphère ( puisqu´elle présente toujours la même face vis-à-vis de la terre) elle tourne autour de la Terre.
-quelques étoiles fixent au loin forment un éclairage opposé au Soleil !
>> il y aurait donc déjà dix programmes au moins qui demanderai combien en mémoire vive ? c ce que je cherche ! et à votre avis est-ce possible ?
Oula, t´as intérêt à avoir un niveau proportionnel à l´ampleur du projet
Ca me rappelle Gravitation : un jeu sur mac en 2d qui permettait la similutation de systèmes.
On placait les planètes, masse, taille, vecteur vitesse, coordonnées, et zou...
Ca interagissait sous nos yeux.
Je dois encore l´avoir...
Qu´appelles-tu gérer un système solaire ?
- Prévoir son évolution ?
Dans ce cas-là, le modèle que tu proposes est relativement simple, et il doit être possible de le programmer sans trop de difficultés.
- Permettre à un vaisseau de se déplacer dans cet univers, et calculer l´influence des forces gravitationnelles dans chacun des points, et donc leur influence sur le vaisseau ( bref, se déplacer avec un modèle physique particulier) ? J´ignore dans ce cas-là ce qui serait nécessaire.
on va zouer à mars attaque et independance day en même temps ![]()
Mais pour faire quoi ?
car, a mon avis, ca ne donnera rien : tu auras une immensité de vide ( tu veux le faire en taille réelle a ceux que tu dis sur ton premier post) ?
Ben tout ça est loin d´etre impossible :
niveau mémoire, un PC banal suffit
ensuite, tu calcules la rotation des planetes en fonction d´un temps t, puis tu rends l´application avec OpenGL par exemple !
C´est bien faisable ![]()
Effectivement, avec les distances qui sont en jeu il n´y aura jamais a afficher 2 planetes en meme temps
Pour une esstimation en memoire vive, je reprendrais ( a peu pres) les mots d´un personnage celerbre dans l´estimation des ressources informatique :
" 640Ko should be enough..."
C´est très con ce que je vais dire, mais, heu, dans quel but ? ? tu veux arriver à une vue qu´on a de la terre ? ? une simulation d´un téléscope géant ? ? Repertorier le système solaire ? ? Simplement démontrer l´espace existant dans notre univers ? ? Je comprend pas trop la, car, je te signale, que si tu ne voulais que faire la lune à son échelle " réelle" tu ne verrai rien du tout ! ! ? ? il te faudrai des millier de zoom en arrière ? ? bref, je pige pas le but la...mais bon, je dis pas que c´est con, loin de la, mais explique ton but stp...
ArtistiManix
http://orbiter.dansteph.com/index.php
a part ca, une si restreinte simulation, ( 3 planetes spheriques) ca rentre dans 10 ko de RAM.
c´est pas parce que les distances sont grandes qu´on a pas le droit d´utiliser des valeurs normales et puis les variables float siffiront largement au range des distances mises en jeu.
Ah oui, la mémoire peut flamber si tu veux représenter la texture des planetes de façon trop fine : genre si tu veux représenter les statues de l´ile de paques sur la texture de la terre... Mais bon, sinon, si tu consideres des textures normales, et meme de grosses textures ( 1024*1024), tu auras de beaux détails, sans pour autant exploser ta mémoire...
cool ! je pensais pas avoir tant de réponses !
merci à ceux qui ont répondu, c très important pour moi...
En fet, comme je lé dis, j´aimerais juste pouvoir créer -UNE- planète ( la Terre ou une planète imaginaire solide et habitable, mé ça c pas le plus important) sur laquelle on se focaliserait sur une boule de 10 ou 20 km... qui évoluerait suivant la progression de la caméra principale ( le " joueur").
Mais tout ceci serait tro banal et surtout ininteressant ( les moteurs de jeu actuels nous le font), je pensais donc à une technique qui permettrait de recréer un environnement " vivant" et " temporel".
L´idée vient naturellement à l´esprit:
-Il me faut un soleil ( ou un point lumineux fixe) qui serait le centre d´une ellipse décrite par notre planète.
-La planète fait sa révolution en 365jours et 1/4 et elle tourne sur elle-même en 24heures.
Rien qu´avec ce système l´ordinateur défini le temps: il pourra changer les saisons et la luminosité de la boule évolutive sur la planète sans grande difficulté puisqu´elle s´effectuera naturellement comme dans l´espace...
L´ajout d´une Lune et d´étoiles lointaines sont justes pour faire plus " réalistes" car l´éclairement d´une unique étoile parait bizar...
Sinon tout autour de la boule, la définition de la planète pourrait être " cachée" et l´ordinateur n´aurait rien à calculer quand aux coordonnées...
Après le travail de modélisation d´un monde dans la " boule" serait à faire à son goût...
Le système crée n´étant qu´un point de départ à l´imagination...
et bien ainsi soit il :
Je veux bien te fournir des fonctions qui tracent une sphere si tu leur passe :
- distance au soleil ( 0 pour le soleil)
- rayon de la planete
- angle de révolution
- angle de rotation
- ( eventuellement précision polygonale)
Apres, a toi de gérer ces données correctement, je te fournis les fonctions graphiques 3D ( qui sont déja presque finies avec glut, lol)
Seule imposition :
tu fais une boucle principale que tu appelles, par exemple, affiche, comme ceci :
void affiche()
{
. ...
}
et a toi de gérer tes parametres pour chaque planete dedans, je te dirais comment y donner au moteur 3D.
Tu penses vraiment qu´un ordinateur arriverait à me faire ça ? et après à focaliser la caméra principale sur une surface ( zone géographique) de la planète ( une est largement suffisante ! !)pour construire n´importe quoi ( villes, forêts, déserts...) ?
Le mieux serait de définir le " système solaire" ainsi creér comme " inchangeable" et d´en faire la " base" de la création puis de faire démarrer un nouveau moteur 3D ultra-réaliste qui lui n´interviendra QUE sur la surface de la planète qu´il modifiera...
Ce serait cool, car là on aurait une vrai sensation de réel...
Le plus dur alors sera de définir une atmosphère aléatoire, donc des nuages déjà ( je pense qu´en définissant un lieu de formation, un lieu de destruction autour de la planète, un vecteur vitesse fonction du volume du nuage crée ainsi qu´un programme aléatoire ( cf. Random) pour leurs déplacements et leur taille devrait suffire); ensuite le " vent", il devra être fonction du déplacement des nuages; et puis d´autres paramètres mais ça il faut beaucoup plus de réflexion ( gravité, érosion...)
Après pourquoi ne pas s´attaquer à l´incorporation de personnages avec une " habitude de vie" ( mais alors là les lignes de prog ne se comptent plus...)
Bien sûr je ne pense pas qu´aux jeux, mé j´imagine surtout à des " simulateur" ultra-réaliste" de conduite automobiles par exemple ( avec des conditions aléatoires comme celà se passe dans la vraie vie ! )
alors ce dont je te parlais était l´aspect planete comme des spheres pour le moment : faire des spheres qui bougent en suivant les lois de la gravité, c´est facile.
pour les nuages, on parle de textures. Définir une texture, c´est facile aussi, meme si sur une sphere, c´est le bordel, il y a des algos pour cela. Ensuite, définir des nuages qui bougent indépendamment, c´est facile aussi avec une vecteur vitesse : c´est un double texturing.
Par contre, les arbres qui poussent, etc, c´est déja plus difficile, quant a la vie etc, on tombe dans le domaine de l´infaisable ou quasi.
ce dont je te parlais plus haut était si on prenait les planetes comme des spheres immobiles ! les nuages étant une astuce pas trop dure pour leur donner animation... quant au reste... ouch ! !
y´a bien le " Earth Simulator", au japon il me semble...
Mais pour faire un environnement réaliste à taille humaine, on n´est pas obligé d´implémenter une abstraction de l´univers tout entier ( enfin si vous savez faire, c´est les mathématiciens de la théorie de l´unification qui vont etre content, ça fait des années qu´ils planchent sur un modèle universel unifiant les différent domaines) : on sait faire une ville vivante ( midtown madness), on sait faire des conditions climatiques ( stalker), etc. Ok, c´est des modèles tres simplifiés, limite des fakes, mais faut rester raisonnable quant aux finalités et à l´utilisation du projet.
Parce que si tu essayes de modéliser l´infiniment grand, il faudrait faire pareil avec l´infiniment petit pour que ce soit cohérent : et dédier un PC au comportement de chaque particule élémentaire de ton monde, ça va pas le faire...
Ah bah, c clair que comme je le disais plus haut, ce ne sont pas les lignes de commandes, les boucles et les calculs de valeurs qui vont manquer... lol
Tu as raison LGV: c´est un peu idiot de modéliser tout une galaxie pour en fait se focaliser sur un environnement particulier ( une zone de quelques kilomètres qui à l´échelle solaire ne représente pas grand chose)
Mais je penses que c´est le seul moyen pour rendre l´environnement ultra-réaliste:
L´ordinateur n´a pa à gérer le cycle jour/nuit ( c´est la rotation automatique de la Terre qui le ferait), ni le cycle saisons ( selon la position de la Terre sur l´ellipse autour du Soleil).
Pour l´érosion/le temps qui passe ( tiens ça me rappelle le baroque ! lol)je pense que des progs spécifiques seraient nécessaires et rien que de modéliser une zone d´herbe avec un arbre, une rue, une place et juste le bar d´un café par exemple serait un travail monstre !
Bon la rue et la place: pas de probs: il suffit juste de définir un paramètre d´érosion longue ( par exemple appauvrissement de la palette graphique utilisée sur trois ans...)
Pour l´herbe: trois modèles de " touffes" suffisent, il faut qu´elles contiennent en plus un programme de vie ( par exemple qu´elles poussent de 3mm/semaine...)
L´arbre de même pour chaque branche ( mais après le " Copier/Coller" s´avererait très utile!!!)
Pour le magasin pareil que pour la route, sauf pour l´intérieur. On pourra même définir un épaissisement raisonnable et une coloration en blanc/gris des textures pour représenter la poussière...
Pour les personnages c´est une autre paire de manche mais déjà avec ça il y a de quoi s´occuper un bon bout de temps ! !!! lol
Ps; désoler si mes réponses sont à chaque fois des vrais romans... lol
les approximations ENORMES que tu fais en proposant par exemple " trois modèles de touffe" réduisent à néant l´effort de réalisme lié ici au système solaire. Dans tous processur mathématique, et surtout numérique, il faut bien mesure *où* sont les approximations qui ont le plus d´impact sur le résultat final. Si ta scène de rue est vue d´un point de vue humain, on préfera mettre un max de ressources CPU sur les détails visibles ( végétaion, modèles, textures, etc.) plutôt que sur une modélisation complexe de l´univers : tout se joue au niveau de la perception. Regarde la démo " timemachine" de nvidia, regarde le climat dans Stalker, etc. Non, le mouvement des nuages n´est pas conforme à la réalité météorlogique, mais le joueur s´en fout un peu : c´est beau, c´est suffisamment réaliste pour etre immersif, et si on voulait etre fidèle aux modèles physiques il faudrait sacrifier du temps de calcul qui aurait un impact CRITIQUE sur l´ensemble de la réalisation.
Pour les saisons seulement, il te faudra plusieurs années avant de faire un systeme viable ( et encore, il ne sera pas très realiste). Les saisons, les phenomenes climatiques etc... ne dependent pas " de la position de la terre sur l´ellipse du soleil". Elles dependent du degré d´inclinaison de la terre, du degré d´incidence des rayons du soleil sur une surface donnée, de la temperature des oceans, de la quantité/qualité de l´athmosphere, sa teneur Co² et en vapeur d´eau, l´influence des forces de coriolis et des courants oceaniques, de l´etat de la fonte des neiges aux poles, du sens des differents vents, de l´etat du jeu pression/depression/anticyclone etc... Et ces données sont toutes reliées ou que tu sois dans le monde ( si le vent souffle en siberie vers l´europe, ben il fera froid, si l´anticyclone fait place a la depression, ben il risquera de pleuvoir, etc...). Bref, rien que pour le simple exemple des saisons que tu resumes a " la position de la terre sur l´ellipse du soleil", tu vois qu´en fait il y a beaucoup plus de parametres, ( bien plus que j´ai cité ici), et certains meme dont on ne connait meme pas l´influence ( sinon la meteo ne se tromperai jamais).
Le seul truc que tu pourras faire, c´est une simulation restreinte, mais des lors que tu chercheras a faire du general, tu verras qu´un simple parametre que tu avais preprogrammé est en fait la somme d´une equation tres complexe a laquelle tu seras tout de meme obligé d´ajouter un facteur " hasard" parce que tu n´auras jamais TOUTES les données ( c´est impossibe d´ailleurs) pour realiser une simulation.
merci beaucoup pour vos réponses, je verrai bien ce que je pourrais faire ! lol
@ + et encore merci d´avoir répondu sans insulte! !