Intersection d'une droite et d'un cylindre.
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Intersection d'une droite et d'un cylindre.



  1. #1
    invitef659b6d7

    Intersection d'une droite et d'un cylindre.


    ------

    Bonjour. Je cherche à calculer l'intersection d'une droite et d'un cylindre fini si elle existe, dans le cadre d'un projet de raytracing.
    Le cylindre est centré et unitaire, aligné sur l'axe Oz.

    J'en ai déduit son équation : x² + y² = r² = 1.
    Je possède la représentation paramétrique de ma droite : { Ox + Dx*t, Oy + Dy * t, Oz + Dz *t}.
    J'ai donc injecté ces informations dans l'équation du cylindre. Après développement, j'obtiens l'équation du second degré : (Dx² + Dy²)*t² +2*(DxOx + Dy*Oy)*t + Ox²+Oy² - 1 = 0.
    Je la résous (déterminant etc ...) comme si je possédais un cylindre infini. Cela semble bien fonctionner jusque là.

    Mon souci vient au moment de calculer l'intersection avec les deux faces du cylindre.
    Je pars du principe que : Soit I mon point d'intersection calculé avec O + D * t.
    Si Iz < zmin, alors je cherche l'intersection avec la face, pour cela je résous t=(zmin - Oz)/Dz. Si t<0 ou que Ix² + Iy² est supérieur à 1 (rayon²), alors je renvoie faux, sinon j'ai trouvé une intersection avec la face inférieure du cylindre.
    Je procède de la même manière avec l'autre face.

    Cependant je n'otiens pas les résultats escomptés. Y'a-t-il quelque chose qui semble faut dans mon raisonnement ? Il est vrai que des soucis peuvent apparaître si Dz vaut 0, mais je ne sais pas trop comment gérer ce cas.
    Merci pour votre aide

    -----

  2. #2
    gg0
    Animateur Mathématiques

    Re : Intersection d'une droite et d'un cylindre.

    Bonjour.

    Je ne comprends pas trop, tu as les intersections avec le cylindre infini. Le fait que Iz < zmin (le point d'intersection avec le cylindre prolongé est en dessous de la face inférieure du cylindre limité) n'assure nullement qu'il y ait une intersection avec la face inférieure. Pour le savoir, il faut travailler avec les deux points d'intersection : S'ils sont tous deux au dessus de la face supérieure, ou entre les deux faces, ou en dessous de la face inférieure, ils ne coupent pas les faces (j'ai l'impression d'enfoncer des portes ouvertes !!). Et s'ils sont (en cote) de part et d'autre d'une face, on sait qu'ils la coupent et on cherche alors l'intersection du plan de la face avec la droite (et dans ce cas, Dz n'est pas nul. Il reste les cas où ils sont tous deux sur une face, et là, c'est à toi de décider ce qui se passe (dans la réalité, un rayon n'est pas une droite).

    Cordialement.

  3. #3
    invitef659b6d7

    Re : Intersection d'une droite et d'un cylindre.

    Merci pour votre retour.
    En fait, lorsque je détecte une intersection avec le cylindre infini, et que cette intersection est en dessous de la face inférieure par exemple, alors je cherche t tel que le point sur la droite appartienne au plan de la face inférieure. Si t n'est pas négatif (je ne peux pas aller à contre-sens du rayon), je vérifie si ce point appartient ou non à la face (en comparant ses coordonnées au rayon).

    Je ne comprends pas ce qui cloche dans ce raisonnement ...
    Aussi, dois-je faire quelque chose lorsque delta < 0, ou considérer qu'il n'y a pas de solution ?

  4. #4
    invitef659b6d7

    Re : Intersection d'une droite et d'un cylindre.

    Je pense avoir compris ce qui ne va pas avec mon raisonnement, et ce que vous m'avez expliqué. Comparer la position des deux points d'intersection permet de garantir qu'il existe un point entre ces deux là qui soit sur la face, et donc de ne pas risquer d'avoir un Dz = 0.
    Je vais mettre cela en place

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Intersection d'un cylindre et d'une droite.
    Par yoyovento dans le forum Mathématiques du supérieur
    Réponses: 17
    Dernier message: 23/02/2016, 16h40
  2. Intersection entre un cylindre et un plan incliner
    Par legyptien dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 23/02/2015, 01h55
  3. droite et intersection
    Par invited03209ae dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 07/01/2012, 15h54
  4. Intersection de droite
    Par invite99269d86 dans le forum Mathématiques du collège et du lycée
    Réponses: 9
    Dernier message: 09/10/2009, 17h23
  5. Intersection entre une droite et un cylindre
    Par invite9e4aef14 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 29/03/2006, 14h28