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

Algorithmes et structures de données Discussion :

Tracer de rayon : ray tracing


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Par défaut Tracer de rayon : ray tracing
    Bonjour,

    Voila je travaille sur la propagation des ondes electromagnetiques dans un etage d'un bâtiment ... Le probléme revient à la resolution des équations de Maxwell.

    Je veux implementer l'algorithme du tracer de rayons , mais je ne sais pas du tout comment m'y prendre . Je connais bien la théorie du truc, mais de la à passer à l'implementation je bloque:
    comment representer un étage ? comment representer les murs dans un etage ? les rayons generés par la source ? sachant qu'un rayon peux donner naissance à plusieurs autres rayons quand il rencontre un obstacle.


    J'ai bouquiné beaucoup d'articles sur le sujet, aucun chercheur ne propose le code source de sa méthode. J'ai aussi cherché sur le net, mais je n'est trouvé que des fragments de code inutiles pour moi, car je dois integrer les phénomenes de reflexion/refraction (Snell-Descartes), et diffraction (Uniform theory of diffraction).

    Si quelqu'un a deja traité le sujet, ou a une idée ou un lien qu'il me viens en aide

    j'éspére avoir etais clair. N'hésitez pas à me poser des question sur le sujet si cela vous interesse .
    mercii,

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    En fait, le lancer de rayon fonctionne bien si tu es en champ lointain. (à ne pas oublier pour savoir là où tu fais des erreurs)

    comment representer un étage ?
    C'est de la géométrie, tout bon modeleur peut te permettre de la créer.

    comment representer les murs dans un etage ?
    Idem, un mur, c'est au choix, un plan , deux (avec des propriétés différentes)

    les rayons generés par la source ?
    Simple, tu prends la directivité de ta source et tu lances le rayon en fonction de celle ci.

    sachant qu'un rayon peux donner naissance à plusieurs autres rayons quand il rencontre un obstacle.
    Oui, c'est de la diffraction, c'est très simple : dès que tu arrives sur une surface, tu regardes si l'interaction qui va intervenir est une diffraction. Si c'est le cas, tu relances tes plusieurs rayons.

    Il faudrait que tu nous dise ce qui bloque exactement, parce sinon, la technique est simple.

  3. #3
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message
    En fait, le lancer de rayon fonctionne bien si tu es en champ lointain. (à ne pas oublier pour savoir là où tu fais des erreurs)
    Inexact, le lancer de rayon fonctionne partout dans l'environement. Ou plutot le champs d'application depend du modéle utisé, dans mon cas tout l'environnement de propagation est pris en compte car tous les phenomnes physiques sont intergrés.

    En fait, il faut faire la différence en lancer et tracer de rayon:

    Lancer de rayon (Ray Launching brute-force) : on envoie des rayons avec un ecart angulaire predefini.

    Tracer de rayon (Ray Tracing) : pour un point donnée du plan, on cherche les rayons qui passent par ce point et qui ont pour origine notre source de rayonnement. Dans ce cas il n'exite pas de rayon superflux.

    Dans mon cas c'est plutot du tracer de rayon .

    Je bloque sur la generation de rayons qui part de la source pour arriver à un point donnée (soit en ligne direct, soit apres des reflexions ou meme diffractions).

  4. #4
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Inexact, le lancer de rayon fonctionne partout dans l'environement
    Non, ça ne marche pas en champ proche, tu ne peux pas y appliquer l'optique géométrique et donc pas possible d'appliquer une méthode de lancer de rayons.

    Je bloque sur la generation de rayons qui part de la source pour arriver à un point donnée (soit en ligne direct, soit apres des reflexions ou meme diffractions).
    Ca nécessite d'avoir quelque chose de déterministe et donc avoir une solution analytique au problème, ce qui a mon avis n'est pas possible.

  5. #5
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message
    Non, ça ne marche pas en champ proche, tu ne peux pas y appliquer l'optique géométrique et donc pas possible d'appliquer une méthode de lancer de rayons.
    Je traite la propogation des ondes WLAN (longueur d'onde 12cm pour 2.5GHz), la problématique du champs proche ne se pose même pas dans mon cas. Puisque le point qui sont dans ce champs ( à une longeure d'onde de la source ) sont directement visible par la source.

    Le champs proche interviens quand on fait de la microscopie : miscroscope a effet tunnel ou à champs proche. Et dans ce cas la je suis d'acord avec toi sur le fait que l'OG marche plus. Plus encore, c'est la diffraction qui permet d'amplifier la réponse et ainsi echappé au principe d'incertitude de Heisenberg pour voir plus petit....


    Citation Envoyé par PRomu@ld Voir le message
    Ca nécessite d'avoir quelque chose de déterministe et donc avoir une solution analytique au problème, ce qui a mon avis n'est pas possible.
    Tu te trompe, il existe des solutions :
    http://en.wikipedia.org/wiki/Ray_tracing
    Une demo java du truc (Ray casting) : http://pixellove.eu/wega/

  6. #6
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Le champs proche interviens quand on fait de la microscopie : miscroscope a effet tunnel ou à champs proche. Et dans ce cas la je suis d'acord avec toi sur le fait que l'OG marche plus. Plus encore, c'est la diffraction qui permet d'amplifier la réponse et ainsi echappé au principe d'incertitude de Heisenberg pour voir plus petit....
    Pas toujours en microscopie, tout dépend de la longueur d'onde des ondes que l'on veut propager.

    Tu te trompe, il existe des solutions :
    http://en.wikipedia.org/wiki/Ray_tracing
    Une demo java du truc (Ray casting) : http://pixellove.eu/wega/
    En fait, je n'avais pas compris ce que tu disais, entre les physiciens et les informaticiens, nous avons les mêmes termes mais pas pour décrire les mêmes choses ...

    Ce que tu appelle le lancer de rayon c'est du light tracing (tracé de lumière) et ce que tu appelles tracé de rayon c'est pour nous du lancer de rayon (backward raytracing).

    En fait, la technique de base est simple et purement récursive.

    Tu lances des rayons primaires (issus de l'oeil ou du capteur dans ton cas), à chaque intersection, tu récupères la contribution directe si l'intersection se fait avec la source. Si tu n'es pas sur une source, tu récupère les contributions extérieures. Ces contributions extérieures étant obtenue de la même façon (contribution directe de la lumière + contribution extérieure).

Discussions similaires

  1. Ray Tracing en C
    Par gjhffd dans le forum Débuter
    Réponses: 2
    Dernier message: 01/09/2009, 13h32
  2. Le Ray tracing
    Par m0a-Stelle dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 04/01/2009, 20h24
  3. Ray tracing CAML
    Par m0a-Stelle dans le forum Caml
    Réponses: 7
    Dernier message: 13/10/2008, 23h52
  4. [openGL] demande explication frustum, ray tracing, etc
    Par Aurelangelo dans le forum OpenGL
    Réponses: 1
    Dernier message: 22/03/2008, 21h02
  5. Tutoriel ray-tracing , pov-ray...
    Par Ghost Dog dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 02/09/2005, 14h16

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