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 :

Tetraedre


Sujet :

Algorithmes et structures de données

  1. #1
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut Tetraedre
    Bonjour, voila mon probleme, en gros.

    Dans un continuum enclidien a trois dimentions,
    soient A(x_a;y_a) B(x_b;y_b) C(x_c;y_c) D(x_d;y_d) et E(x_e;y_e).
    Toutes les coordonnees sont connues.

    Question, comment savoir si E"€"(ABCD) où (ABCD) est un tetraedre iregulier.

    But de cette algorithme : nous sommes sur la conception d'un jeu video 3D (LPO), et pour alleger les cartes graphiques de basse gamme nous voulons decharger de la memoires tous les objets n'apparraisant dans le champ de l'ecran (qui est un tetraedre).

    Merci de nous aider.
    -- Yankel Scialom

  2. #2
    Membre expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    Par défaut
    Salut,

    Je dirais recherche des nombres a, b, c et d tels que ton point est le barycentre des points pondérés (A,a), (B, b), (C,c), (D,d) puis regarder les signes.
    "Je suis incapable d'expliquer ce qui se passa ensuite : je lâchai quelque chose, quelque chose à quoi je m'agrippais depuis toujours sans m'en rendre compte. Je m'enfonçais dans une obscurité chaude, moelleuse et protectrice, tandis qu'un loup montait la garde par mes propres yeux."

  3. #3
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Ca m'a l'air d'etre bon. Mais ensuite comment trouver a, b, c,b et d ? Ah je sais ! mais je vais quand meme resortir mes cours.

    Merci.
    -- Yankel Scialom

  4. #4
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    salut,

    heu, le champ de visibiltite de l'ecran; ce serait pas plutot une pyramide a base carre ? avec le point d'observation comme sommet, et les quatre coisn de l'ecran (enfin, de l'image de l'ecran dans le repree 3D) les sommets de la pyramide ?

    Sinon, une methode serait de considere chaque face triangulaire, orientee par rapport au tetraeedre. C'est a dire que l'on considere le plan contenant le triangle, et la moitie de l'espace separee par ce plan et contenant le tetraedre.
    Ensuite, on cherche si le point E apparttient a chacun des demis-espaces.
    Ca se fait facilement, en fait, a partir de produits vectoriels, il faut juste pas se planter dans la defintiton de l'oriezntation des faces.

    A+

  5. #5
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    pour resoudre ton probleme tu ferait mieux de regarder du coté du frustum culling.
    c'est une methode qui consiste a calculer les 6 plans qui forment le cone de vision et qui permet de tester si un objet est dans le frustum.
    y'a pleins de cours sur internet la dessus...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  6. #6
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Citation Envoyé par bafman
    pour resoudre ton probleme tu ferait mieux de regarder du coté du frustum culling.
    c'est une methode qui consiste a calculer les 6 plans qui forment le cone de vision et qui permet de tester si un objet est dans le frustum.
    y'a pleins de cours sur internet la dessus...
    Il me semble que ça revient au même avec son histoire de "tétraèdre" qui est en fait une pyramide.

  7. #7
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    tetraedre != piramyde
    Pourquoi un tetraedre et pas une piramyde ? moins de points = plus de FPS.
    pour resoudre ton probleme tu ferait mieux de regarder du coté du frustum culling.
    Le probleme c'est que le jeu est cree de A a Z, programme en Delphi et DarkBasic (qui n'a pas d'interface graphique). Nous sommes donc obliges de concevoirs nos tests "a la main"
    -- Yankel Scialom

  8. #8
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Citation Envoyé par rurouni alex
    Salut,

    Je dirais recherche des nombres a, b, c et d tels que ton point est le barycentre des points pondérés (A,a), (B, b), (C,c), (D,d) puis regarder les signes.
    Exact! Passe dans le repere (A,AB,AC,AD) et regarde si les corordonnées de ton point E sont toutes comprises entre 0 et 1.

    Le changement de base (meme non orthonormé) se fait par calcul matriciel....
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  9. #9
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par prgasp77
    Le probleme c'est que le jeu est cree de A a Z, programme en Delphi et DarkBasic (qui n'a pas d'interface graphique). Nous sommes donc obliges de concevoirs nos tests "a la main"
    perso j'ai fait mon frustum culling a la main et il marche tres bien...
    il ne faut pas oublier qu'en 3D la rapidité des calcules et des tests est primoriale.

    tu a un bon cours en francais sur
    http://www.glinfrench.fr.st
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

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

Discussions similaires

  1. Mauvais calcul volumique(tetraedre)
    Par ibrakola dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 01/06/2012, 08h53

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