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

C++/CLI Discussion :

detection de collision en osg


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut detection de collision en osg
    salut a tous ,voila j'ai un projet de fin d'étude le thème est "rendu d'effort dans un simulateur de chirurgie dentaire " j'utilise l'interface haptique phontom omni. la scène virtuelle est composée d'un modèle (dent+mâchoire) et l'outil "la fraise"
    je les ai chargé sur c++ en utilisant OSG (openscenegraph) le problème est comment faire la détection de collision entre les dents et la fraise ?????

    merci de m'aider, je ne vois plus d'issue !!!!

  2. #2
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 17
    Par défaut
    Tu aurais eu plus de chance en allant directement sur le forum d'OSG.

    OSG propose des outils pour faire des collision entre les bounding boxes ou directement au niveau des triangles. Tout dépend de la précision dont tu a besoin.
    Voici des tutoriels qui pouront surement t'aider (en anglais):
    - collision de BB: http://www.cs.clemson.edu/~malloy/co...ollisions.html
    - collision de traingle: http://www.cs.clemson.edu/~malloy/co...Collision.html

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    d'abord merci d'avoir pris la peine de me répondre.
    j'ai deja essayé de faire un test avec seulement une dent et une petite boule,j'ai englobé ma dent dans des petites sphères une a coté de l'autre ,mais j'ai eu un souci pour le calcul de la force de retour au point d'intersection entre les deux sphères,et en plus cette méthode n'est pas précise .j'aimerai bien être diriger vers des algorithmes de détection de collision plus précis ou le test serait fais sur les primitives .
    aussi j'aurai aimer savoir s'il y avait un moyen pour accéder aux primitives d'un objet (exemple la dent) avec osg .

  4. #4
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 17
    Par défaut
    Je ne suis pas sur de comprendre, tu a regardé le tutorial du second lien? Ca explique comment faire la détection de collision au niveau des triangles avec OSG. Il suffit de télécharger l'archive avec le code source. Regarde voir le fichier movableObject.cpp la fonction collidesWith.

    Sinon pour répondre a ta question, tu peux acceder aux primitives d'un osg::Geometry a l'aide des fonctions getPrimitiveSet, getVertexArray.

    J'imagine que tu connais déja la doc de référence ici: http://www.openscenegraph.org/docume...cs/a00267.html

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    bonjour, grand merci...

    j'ai essayé les programmes avec mes modèles (une boule entre en collision avec une dent), j'ai fait des modifications en ce qui concerne l'affichage (j'ai utilisé OSG au lieu SDL), je me suis trouvées confronté a plusieurs problèmes:
    - quand je change l'extension des objets (.osg au lieu de .obj) le programme ne marche pas(aucune détection).
    -le programme s'exécute très lentement.

    je voudrai aussi savoir s'il y a moyen pour que la boule ne pénètre pas dans la dent (la boule doit rester a la surface de la dent même si je continue a la faire avancer vers l'intérieur de la dent (effet de slinding)).

    merci pour vos conseils....

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    effet de sliding

Discussions similaires

  1. Detection de collisions
    Par julio02200 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 27/12/2009, 23h06
  2. Detection de collision de polygones 2d
    Par BruceBoc dans le forum Physique
    Réponses: 1
    Dernier message: 13/04/2007, 00h01
  3. Detection de collision entres deux cylindres.
    Par Sandro Munda dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 07/11/2006, 14h36
  4. ALGO detection de collision
    Par tetepoive dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 29/05/2006, 13h33
  5. Detecter des collisions
    Par jmoati dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 10/04/2005, 16h22

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