Intersection entre un hexaèdre et un plan

Bonjour
Je pense que c'est ici le meilleur endroit pour ce post ; je cherche à généraliser le calcul de l’intersection entre un parallélépipède quelconque hexaèdre et un plan dont les coefficients sont (évidemment) $\left( a, b, c, d \right) $ ; le parallélépipède est défini par les coordonnées de ses 8 sommets de coordonnées $\left( x_i, y_i, z_i \right)$. La démarche sera ensuite programmée (Python).
Je vois 4 cas de figure.
  • Aucune intersection
  • 1 point (un des sommets du parallélépipède)
  • 3 points (la résultante est donc un triangle)
  • 4 points (la résultante = quadrilatère)
Nota. Cette approche devrait être transposable à d’autres volumes comme le tétraèdre, le pentaèdre, la pyramide par exemple.

J’imagine la chose suivante : soit $P_1$ et $P_2$ les 2 sommets formant une des 12 arêtes du parallélépipède de l'hexaèdre:
  • je dois pouvoir calculer l’intersection entre la droite $\left( P_1 P_2 \right)$ et un plan, et vérifier s’il appartient ou non au segment $\left[ P_1 P_2 \right]$
  • je procède de la sorte pour les 12 arêtes
  • le nombre d’intersection(s) me donnera le cas de figure.

Voyez-vous une généralisation ou une méthode plus simple (j’ai une nette tendance à me compliquer la vie) ?
Merci par avance pour toute suggestion
Paul

Réponses

  • Tu peux avoir jusqu’à six segments sur la bordure de l’intersection.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • oui, ou 5 points.
    question : peut-on trouver une ensemble de plans (P) tous parallèles à un plan (P0) et tels que les intersections de ces plans avec un cube décrivent l'ensemble des possibilités, c'est à dire de 0 à 6 sommets pour le polygone intersection ?
  • @Nicolas Patrois et GaBuZoMeu : en effet je n'ai pas assez réfléchi à la chose

    Ma question reste toutefois ouverte :-)
  • Bonjour.

    Un parallélépipède est le volume de l'intersection de 6 demi-espaces, déterminés par 3 couples de plans parallèles, les demi-espaces correspondant à des plans parallèles étant "en opposition" (*). Ces demi-espaces déterminent sur le plan de coupe des demi-plans dont l'intersection est la surface cherchée.

    Cordialement.

    (*) je laisse ici un terme flou, car son utilisation va dépendre de l'implémentation algorithmique.
  • Suite aux remarques et après vérification, je croyais le terme trop spécifique, mais c'est le contraire : en fait je travaille sur des hexaèdres et non un parallélépipède (dont les faces opposées sont //). ;-) tout fout le camp, surtout ma mémoire.
  • Bonjour,

    Tu peux reporter les $8$ sommets dans l'équation $ax+by+cz+d=0$ et observer les $8$ signes obtenus, ce qui donnera les arêtes coupées par le plan et donc les intersections plan-droites utiles.

    Cordialement,

    Rescassol
  • Excellente suggestion qui m'en rappelle une autre que j'avais utilisée il y a quelques temps déjà : pour que l'arête soit intersectée par le plan, il faut que ses sommets soient de part et d'autre dudit plan (et ça revient à une étude de signe)

    Merci
  • Bonjour,

    Oui, c'est ce que je disais.
    Accessoirement, "arête" ne prend qu'un seul "r".

    Cordialement,

    Rescassol
  • Hum...
    Un hexaèdre a-t-il toujours 8 sommets ?95584
  • J’avais pensé à une pyramide à base pentagonale.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • merci pour l'aide
Connectez-vous ou Inscrivez-vous pour répondre.