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

Interfaces Graphiques en Java Discussion :

generer une heightMap


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Par défaut generer une heightMap
    Bonjour

    je suis en train de realiser un logiciel de visualisation de trace GPS (voir piece jointe) et je voudrais representer le relief en Java3D a partir de ce tracé. j'ai donc pensé a creer une HeightMap, mais je ne vois pas du tout comment m'y prendre je n'ai trouvé aucun tuto.

    Je sais qu'il y a 255 niveau de hauteur, le noir representant le niveau le plus bas et le blanc le plus haut. le hic.

    Bien sur pour avoir un relief au plus pres de la realité, il faut balayer une zone completement pour avoir le plus de coordonnees (longitude, latitude, altitude) possible.

    merci pour votre aide.
    Images attachées Images attachées  

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Un simple petite regle de 3 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int gray = (int)Math.round(255.0 * (alt - altMin) / (altMax- altMin));
    Color color = new Color(gray, gray, gray);
    Pour le reste les dimensions de l'image finale dependent de ta resolution et de la finesse que tu souhaites apporter a ta map (attention aux OutOfMemoryError).

    Attention egalement aux images en niveau de gris en Java (BufferedImage.TYPE_INT_GRAY), il semble y avoir un defaut dans leur palette (faire des recherches sur le forum pour trouver des solutions.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Par défaut
    merci ça marche plutot bien, j'obtiens ceci en l'appliquant en Java3D :


    par contre le rendu final n'est pas terrible (je ne parle pas encore de texture pour l'instant) car on passe de 0m a Xm d'altitude d'un coup.

    Il faudrait que je calcule des niveaux intermediaires.

    Je demande encore une fois votre aide pour les calculs car je suis pas tres matheux
    Images attachées Images attachées  

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Les calculs sont juste par rapport aux données et tes données ne sont pas "réalistes" donc...

    Si tu ne veux pas de pentes aussi verticales tu vas devoir detecter les contours aux endroits où il y a le plus de variation et rajouter des valeurs intermédiaires à une échelle inférieure d'où l'intérêt, quand on est en 2D, de travailler à une plus haute résolution que celle de l'image finale). Sinon une solution simpliste est de copier l'image, flouter la copie et redessiner l'image source par dessus en jouant éventuellement sur la transparence. Mais bon c'est une soluce à la va-vite.

    Après quand il s'agit de 3D et de polygones ce n'est pas mon domaine, donc...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Par défaut
    merci j'ai finalement opté pour calculer des points intermediaires a espaces reguliers sur toute ma fenetre (bonjour les calculs). Pour chaque point je recupere le point le plus pres (point de ma liste de vrais points), je recupere l'altitude de ce point et je calcule la distance entre les 2 points. En fonction de la distance et de l'altitude, je fais une petite regle de trois pour determiner la hauteur de mon point intermediaire.

    Je sais pas si c'est tres clair mais bon, au final j'arrive à ça :

    Sinon on va pas s'arreter là comment on fait pour appliquer une texture et comment faire pour limiter la rotation de mon relief 3D seulement a l'emisphere nord. En gros je ne veut pas qu'on puisse voir par en dessous.


    merci
    Images attachées Images attachées  

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Crée de nouveaux sujets dans le forum 3D pour cela, ça dépasser le cadre de la question initiale.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. [Map] comment generer une interface graphique dynamiquement?
    Par hby dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 20/04/2006, 16h01
  2. Generer une boite de confirmation lors de la femeture d'une fenêtre
    Par BernardT dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/07/2005, 13h51
  3. assert ou generer une exception
    Par onap dans le forum C++
    Réponses: 2
    Dernier message: 01/12/2004, 16h49
  4. generer une image bitmap a partir d'une scene OGL
    Par FreshLog dans le forum OpenGL
    Réponses: 4
    Dernier message: 01/07/2003, 11h29
  5. [VB.Net] Comment generer une page html dynamiquement ?
    Par Anonymous dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/03/2003, 10h22

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