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

OpenGL Discussion :

calculer la norme d'un point d'une sphère


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Par défaut calculer la norme d'un point d'une sphère
    Bonjour,

    Je débute en opengl et je dois manipuler le raytracing dans un code qui n'est pas le mien. J'aimerais appliquer à ma sphere la loi de lambert pour la luminosité. La première étape est de calculer la normale.

    Ce que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // Pour chaque pixels :
    			ray r;
                            // permet d'obtenir la coordonée 3D du pixel par lancé de rayon sur la sphère
    			ogl->get_coords( i,j,r );
    Comment calculer la normale de chaque point?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void MyGlWindow::get_coords(int i,int j, ray & r)
    {
    	gluUnProject(i*1.0,j*1.0,0.,(GLdouble*) ModelViewMatrix,(GLdouble*) ProjectionMatrix,(GLint *) Viewport,&r.p.X, &r.p.Y, &r.p.Z);
    	gluUnProject(i*1.0,j*1.0,1.,(GLdouble*) ModelViewMatrix,(GLdouble*) ProjectionMatrix,(GLint *) Viewport, &r.v.X, &r.v.Y, &r.v.Z);
    	r.v=r.p-r.v;
    	r.v.normalize();
    }
    Merci de votre aide

  2. #2
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Salut,

    La normale est le vecteur du centre de ta sphère au point d'intersection.

  3. #3
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Par défaut
    pourrais-tu me donner un exemple pour que je comprenne, merci

  4. #4
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Centre de la sphére:
    Point intersecté sur la sphére de rayon 2:
    Normale:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    N = (Pi - Cs) 
      = ({2, 0, 0} - {0, 0, 0})
      = {2, 0, 0}
    Si les calculs que tu doivent faire après s'appuient sur une normale unitaire, alors :
    Dans le cas d'une sphére on peut tirer parti du fait que la longueur de N correspond est le rayon et donc:
    (on y évite une racine carré, et surtout on peut pré-calculer 1/r puisque constant sur toute la sphère)

    Edit: ce dernier point n'est valable que si la sphère n'a pas subi de transformations non uniformes (par exemple, un scale sur YZ mais pas X qui transforme la sphère en ellipse).

  5. #5
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Par défaut
    merci de ton aide, c'est plus claire!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul de coordonnées d'un point sur une Google map
    Par Abso34 dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2014, 14h40
  2. Calcul de distance entre deux points sur une carte ( openlayers)
    Par Atika90 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2013, 16h27
  3. Déplacer un point sur une sphère
    Par Mr21_ dans le forum Mathématiques
    Réponses: 21
    Dernier message: 29/08/2010, 23h51
  4. Perspective régulière et coordonnée d'un point sur une sphère
    Par 66-Machin-99 dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 21/05/2010, 16h50
  5. calcule d'angle entre 3 points d'une matrice
    Par bmw13fr dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 08/04/2006, 18h56

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