IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

2 problematiques sur les temperatures


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2003
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 51
    Points : 33
    Points
    33
    Par défaut 2 problematiques sur les temperatures
    Salut
    J'ai un probleme depuis pas mal de temps.
    Imaginons que j'ai un monde en 2d, un simple plan en fait. J'aimerais pouvoir faire varier la temperature dans ce monde afin qu'on puisse visualiser des grandes taches rouges ( pour une temperature douce par exemple ) et des grandes taches bleues ( quand il fait plus froid ).
    Mais j'ai deux problemes :
    1 - representer des zones de temperatures, je vois pas trop comment faire sans me retrouver avec des gros carrés ou des ronds a moins de partir dans une programmation complexe pour obtenir des formes qui aient l'air plus naturelles mais ouah, quel boulot.
    2 - En simplifiant le probleme, on peut considérer qu'un zone chaude correspond a l'espace qui entoure un point générateur de chaleur par exemple. la multiplicité de ces points placer aleatoirement permettrait alors de faire apparaitre des zones aux formes complexes. temperature en un point x y depends des différentes sources de chaleurs qui l'entourent et de leur distance... le raisonnement se tient, par contre niveau algorithmique comment calculer ca ?
    Par exemple au premier essai, pour chaque pixel de mon monde, je calcul la distance par rapport à la source de chaleur la plus proche. c pas mal mais on voit bien que lorsque deux sources sont proches, il y a un seuil tres net au moment ou le deuxieme deviens le plus proche alors qu'il faudrait qqchose qui s'apparente a un fondu enchainé..... bref je sais pas si je suis clair, mais les gens qui ont deja pensé a cette problematique doivent voir de quoi je parle.
    donc j'aimerais bcp trouver une formule qui me permette de calculer en un point la temperature en tenant compte de touets les sources de chaleurs environnentes, de leur intensité et de leur distance. he ouais rien que ca^^
    merci pour vos suggestions

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 394
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 394
    Points : 20 497
    Points
    20 497
    Par défaut
    salut je ne suis pas très calé en maths mais une possibilité c'est d'étudier la géométrie fractale...
    sur Internet on doit trouver des documents à ce sujet.
    La géomètrie fractale s'adapte bien à tout ce qui est représentation de fluide..
    basiquement c'est effectuer des itérations pour représenter géométriquement des données et ces données sont modifiées en partie par des perturbations
    Sauf erreur de ma part on doit aussi faire intervenir des nombres complexes dans les fractales.
    Le froid peut représenter les parties réelles et le chaud la partie imaginaire..donc on effectue un tracé selon la limite d'une fonction
    Ensuite reste la problèmatique du rendu en 3d...
    si tu sais afficher un polygone basique qui représente un mur( ça tout le monde sait faire ça ) en 3d que ce soit en Open GL ou Direct3d, il faut effectuer le tracé sur une "texture" et la plaquer sur le polygone
    Sous Direct3d ça s'appelle "render to texture technique" je crois mais ça doit être pareil avec Open GL


    Pour ceux qui ne connaissent pas
    http://fr.wikipedia.org/wiki/Nombre_complexe
    http://fr.wikipedia.org/wiki/Fractale

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2003
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 51
    Points : 33
    Points
    33
    Par défaut
    Merci Mat pour cette piste, je vais aller voire si je trouve de quoi me sustenter sur le net....
    par contre pas question de 3d pour moi pour le moment ca reste de la 2d, de plus, le calcul des températures doit être quelque chose de trés trés leger en terme de charge cpu. J'ai imaginé cet apres midi une solution a minima qui je l'espere pourra au moins donner l'impression que ca marche :

    je défini un tableau que j'appelle tempMap. destiné a contenir une carte des températures et par défaut chaque élément contient la température minimale le zero absolu. pour chaque source de chaleur je calcule son aura et chaque point contient une moyenne (ou quelque chose s'en approchant) entre la température actuelle deja stockée et la nouvelle. de cette facon, l'influence de plusieurs sources de chaleurs sur un seul et meme point est pris en compte meme de maniere grossiere.....je vais faire ca dans un premier temps car ca je sais le faire facilement. par la suite, les fractales...

    merci

Discussions similaires

  1. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31
  2. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11
  4. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo