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

Langage Delphi Discussion :

Réalisation d'un écran radar


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Réalisation d'un écran radar
    Je désire réaliser un ecran radar, avec balayage panoramique ou semi panoramique. Je désire également pouvoir faire apparaitre la détection d'un mobile ou d'un relief.
    Je cherche comment procéder depuis quelques temps, mais j'avoue que je cale!
    merci pour vos idées ou vos expériences.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 710
    Points : 25 593
    Points
    25 593
    Par défaut
    Je n'ai pas d'expérience en ce domaine, mais j'avoue que c'est typiquement le genre d'application que j'aimerais réaliser ...

    Un Radar avec balayage panoramique ou semi panoramique, c'est le Truc Rond a écran Vert qui tourne dans les Sous-Marin

    Maintenant, nous n'avons que trop peu d'information, l'image vient d'où ? Données échangées avec du Matériel (le protocol DLL, Socket, SOAP, ... ne nous préocuppe pas) mais le format détermine ce que tu pourrais afficher ... car je suppose que tu reçois des "séquences echos" (juste le "trait" sondé) que tu affiches à l'écran, sachant que l'image n'est pas une vue réelle mais un assemblage de fragment à différents instants ...

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Ecran radar
    En fait, j'ai dessiné point par point une carte des côtes bretonnes (sources trouvé sur internet : http://rimmer.ngdc.noaa.gov/mgg/coast/getcoast.html), sur lequel je fait se déplacer un mobile.
    L'idée serait de créer une fenêtre supplémentaire, l'écran radar de mon mobile, qui permettrait de visualiser les côtes, le relief et de potentiel mobiles sur la mer.
    La technique peut être de l'opengl ou du directX!
    pour info j'ai égalemnt récupéré les données altimétriques de la zone qui m'intérresse sur internet.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 710
    Points : 25 593
    Points
    25 593
    Par défaut
    Ah, ce n'est pas vraiement Radar, mais plus de la Topographie non ? Avec les Courbes de Relief et autres ...

    Après tout dépend le niveau de graphisme que tu veux, si c'est des lignes et une image de fond, disons qu'un TImage ou TPaintBox feront l'affaire (genre l'onglet performance de windows), cherche sur le forum, tu devrais trouver déjà des choses à ce sujet ...

    Maintenant, pour des Graphismes plus lourd, avec des Effets de Transparance, un taux de rafraichissement élevé, l'utilisation d'une Lib peut se voir, je ne pourrais pas t'aider, j'ai essayé très très brièvement l'un et l'autre, mais je m'amusais plus à faire des trucs à la con bien moche moi même, ... idem, tu ne pourras pas avoir tout d'un coup ici, sujet trop vaste, à toi de te plonger dedans, ...

    Je te souhaite d'avoir d'autres réponses que les miennes, ... Bon WE ...

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    La technique peut être de l'opengl ou du directX!
    GLScene, adaptation de OPEN GL pour Delphi, me semble être la bonne solution : ce compoisant est plus accessible et aussi puissant que opengl et surtout directX.

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Ecran radar
    Merci pour ton avis !
    Peut tu me conseiller un tut sur GLscene, permettant de maitriser facilement cette technique, et donc de développer mon radar!
    Merci

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour

    maitriser facilement
    La 3D c'est pas tout simple au début (et même après)

    Les tuto du site developpez.com
    http://www.developpez.com/delphi/cours/?them=GLSCENE

    Le site GLSCENE:
    http://glscene.sourceforge.net/wikka/HomePage

  8. #8
    Membre régulier Avatar de souch
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2003
    Messages : 145
    Points : 124
    Points
    124
    Par défaut
    Je te recommanderais plutot d'utiliser DirectX avec Asphyre (www.afterwart.net et asphyre.afterwarp.net) pour ces 3 raisons :
    • Des resultats + performants qu'avec glscne
    • Une librairie en plein essort avec une communautée qui bosse dessus, alors que glscene est un pojet abandonné, plus d'update importantes.
    • Niveau programmation, c'est plus proche du language (directx) que glscene, donc si les compos ne suffisent pas, tu peut mélanger avec du code directx, en te gavant de la msnd
    • Petit point négatif : pas de portabilité linux/macos :'(


    @+

  9. #9
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Ecran radar Suite
    J'ai récupéré le package mais il y manque le fichier .dpk pour l'installer. De plus, n'ayant qu' un Delphi 6 PE, j'ai l'impression que je ne pourrais pas l'installer. Cependant je prend note de ta suggestion.
    Quelqu'un d'autre aurait il une autre idée, comme utiliser un canvas tout simple ?
    j'attends vos idées avec impatience.
    Merci

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 710
    Points : 25 593
    Points
    25 593
    Par défaut
    Utiliser un Canvas avec le PaintBox, tu devrais déjà effectivement t'entrainer avec les fonctionnalités de bases, car les concepts 3D, Texture, Vecteurs ... ensuite reste la 2D avec DirectDrax qui gère le multiPlan, image swicth ... mais si tu ne maitrise pas le TBitMap, ... faut commencer par là ... c'est aussi simple que MS Paint ...

    tu as

    Bitmap.width // indispensable, perso, je ne sais pas dimensionner un canvas sans un TBitmap ...
    Bitmap.Height
    Bitmap.Canvas.Pen // couleur, style, ... pour certains fonctions de dessin comme lineto je crois
    Bitmap.Canvas.Brush // couleur, style, ... pour certains fonctions de dessin de masse comme FillRect ...

    ...

  11. #11
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Ecran Radar
    Les fonctionnalités de base sont maitrisée, je demande simplement si quelqu'un à une idée sur la question, quelques soit la technique !
    C'est un peu un brainstorming mondial .....
    Merci à tous !!!

  12. #12
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Radar
    j'ai l'impression que cela n'interresse pas grand monde !!!
    Quelqu'un aura bien une petite idée !!!
    Merci

  13. #13
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    une idée sur la question
    Justement, quelle question plus précisément ?

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 124
    Points : 177
    Points
    177
    Par défaut
    J'ai une petite idée, mais ce n'est pas en Delphi, alors que tu as posé ta question sur une section Delphi du forum ...

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 124
    Points : 177
    Points
    177
    Par défaut
    Le principe que j'utilise est qu'un écho radar est une toute petite sphere qui prend une luminosité maximale quand le balayage radar passe sur elle, puis dont la luminosité décroit lors que le balayage radar tourne et donc s'éloigne.

    Pour te montrer, je t'ai fait un exemple :
    Le balayage radar est un trait vert en 3D de 3 pixels et qui fait des tours d'écran.
    Le fond d'écran est noir.
    Un écho (petite sphere) est dans le Nord (azimuth = 0).
    Cette sphère a sa luminosité (composante verte) à 255 (c'est le maximum) lorsque le balayage (le trait de 3 pixels en vert) passe dessus et qui tombe à 0 (donc qui prend la couleur du fond d'écran, et par là même devient invisible) lorsque le balayage a fait 1 tour moins epsilon (je veux dire pratiquement 1 tour).
    Puis lorsque le balayage revient sur la sphère (écho), la luminosité de cet écho redevient brusquement maximale, puis diminue à nouveau lorque le balayage s'éloigne, etc, etc.

    Tu arrêtes le balayage (et le programme) et cliquant sur le menu "Quitter".

    Je t'ai fait un exécutable que tu peux télécharger à cette adresse :
    http://www.panoramic-language.com/radar.exe
    Le source est à cette adresse (mais ce n'est pas du Delphi bien que GlScene soit utilisé pour cet exemple) :
    http://www.panoramic-language.com/radar.bas

  16. #16
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Radar
    Cher Panoramic,
    Je trouve ta proposition fort interessante . Cela rejoint un peu l'idée que je me faisait du problème.
    Je vais dans un premier temps tenter de transcrire en Delphi avec Glscene, le code source que tu m'as si gentillement proposé.
    Curieux de nature, j'ai consulté ton site et j'ai trouvé ton travail extraordinaire.Ton logiciel est actuellement en version d'essai , faut il comprendre qu'a brèves échéances il deviennent payant ?
    Encore merci, et si d'autres "Créateurs" ont des idéees à proposer, je suis toujours preneur !

  17. #17
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Ecran Radar Suite
    Aprés une absence voici le fruit du travail.
    Inspiré par du code trouvé sur eggs j'ai réalisé ce qui pourrait ressembler à un radar. le code est en pj.
    Des pb subsistent, arret du balayage lorsque je joue avec l'azimut et la distance, disparition non progressive de l'écho, ....
    Alors si quelqu'un a des idées je suis preneur.
    Merci d'avance !
    Fichiers attachés Fichiers attachés

  18. #18
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par Eric Prioul
    j'ai l'impression que cela n'interresse pas grand monde !!!
    Quelqu'un aura bien une petite idée !!!
    Merci
    en fait j'ai pas compris ce que tu voulais faire

    DirectX et OpenGL c'est très bien pour la 3D car derrière il y a la carte 3D (quand tu en as une) qui bosse.

    pour de la 2D ça peut être aussi intéressant pour des effets spéciaux (après tout la 2D c'est de la 3D à plat)

    mais j'ai pas l'impression que ton truc demandes beaucoup de ressource graphique...un bête Canvas devrait faire l'affaire...voir un Graphics32 qui propose des effets très sympa sur un bitmap de base.

    oups...je viens de voir le dernier post, ben oui voila, un Canvas et puis c'est tout

  19. #19
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par Eric Prioul
    Aprés une absence voici le fruit du travail.
    Inspiré par du code trouvé sur eggs j'ai réalisé ce qui pourrait ressembler à un radar. le code est en pj.
    Des pb subsistent, arret du balayage lorsque je joue avec l'azimut et la distance, disparition non progressive de l'écho, ....
    Alors si quelqu'un a des idées je suis preneur.
    Merci d'avance !
    j'ai pas les composants pour recompiler le projet (et j'ai pas envie de les installer), mais je constate que tu utilises un TImage...c'est pas très utile.

    Tu crée le Bitmap une fois pour toute et sur un OnPaint de la fiche (ou d'un TPainBox), tu le dessine sur le Canvas de la fiche (ou du TPaintBox)...

    du coup, tu appelles Invalidate quand tu veux qu'il soit réaffiché.

    pour la disparition de l'echo il suffit de jouer sur sa couleur, lors du passage du balayage elle passe à 100% puis diminue jusque 0

    et pour le dessiner tu calcules la couleur en fonction de ce pourcentage (p)

    1) tu décomposes la couleur de fond et la couleur de l'echo en composantes Rouge Vert Bleu
    2) tu appliques le % pour R G et B
    R:=Round((RFond*(100-p)+REcho*p)/100);
    3) tu appliques cette couleur pour afficher l'echo

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Points : 49
    Points
    49
    Par défaut
    à mon avis (très personnel) je te conseille d'utiliser des bibliothèques prévues pour l'affichage 2D et 3D.
    Moi j'utilise pour delphi TrueVision3D.

    C'est hyper simple et surtout hyper efficace.

    Tu passes le handle de ta fenêtre ou de ton TBImage et le moteur se charge du reste.

    Pour le problème du radar, il faut utiliser un Masque en rotation pour créer un effet de balayage.

    voilà...
    Tu peux trouver les versions démo sur www.truevision3d.com (6.3)

Discussions similaires

  1. réalisation slideshow écran [tactile]
    Par narcis60floyjo dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 06/04/2009, 16h21
  2. Réponses: 0
    Dernier message: 29/04/2008, 08h56
  3. Réaliser une capture d'écran
    Par izeba dans le forum Imagerie
    Réponses: 9
    Dernier message: 25/05/2007, 17h02
  4. Réponses: 2
    Dernier message: 09/08/2006, 15h02

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