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

Moteurs 3D Discussion :

Moteur 3D et base de données Access


Sujet :

Moteurs 3D

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Moteur 3D et base de données Access
    Bonjour,

    Pour étudier le VBA, j’avais entrepris l’animation d’un squelette en Access.
    En 2D, ça passe, mais en 3D, il y avait comme un défaut …Access.
    Je viens d’apprendre sur ce forum l’existence des quaternions et des matrices.
    Je suppose qu’il existe un moyen simple ( ?) de représenter en 3D des postures et des mouvements du corps humain stockés dans une DB

    Merci d’avance

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Je comprends pas ce que tu veux dire : à partir de données d'Access afficher en 3d ??
    C'est pas génial les requêtes SQL risquent de ralentir considérablement l'affichage 3d...
    il faut TOUT charger en mémoire ..

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci d'avoir répondu.
    Pour créer des animations facilement, je fais apparaître sur mon formulaire Access des postures stockées dans ma base de données (constituée des tables mouvements, détails des mouvements, postures, position du membre supérieur gauche, …)
    Je souhaite animer des meshes voire stocker des meshes animés dans la DB.
    Pour l’instant, les quelques traits qui représentent mon personnage répondent en 2D, mais pas en 3D. Je me demande :

    Si cela a du sens de continuer à jouer avec les angles des articulations du type :
    Poignetdroit.Left = Coudedroit.Left + (Cos(([angleCoudedroit] - 90) * 3.141592 / 180) * [taille] * 0.146)
    If Coudedroit.Left < Poignetdroit.Left Then
    avant_Brasdroit.LineSlant = False

    Est-ce que je ne risque pas alors de me heurter à des problèmes insurmontables (type Glimbal Lock, paradoxe de Codman… ) ?

    S’il faut que je recommence tout le code en intégrant la notion de quaternions
    ou si je peux trouver un moteur 3D qui gère les meshes et me permet d’interagir avec une base de données qui reprend les angles des articulations.

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Attention, ce n'est pas du domaine du moteur 3D d'interagir avec un bdd. C'est toi de créer la glu entre ton moteur et ta base de données.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    D’accord, mais est-ce que la gestion de la 3D doit être faite dans ma BDD ou est-ce que je peux m’appuyer sur un moteur 3D qui comprend quelque chose aux quaternions ? (Je ne sais pas comment modifier mon code pour animer des chorégraphies autres que « Walking like an Egyptian » ). Si je renseigne le moteur via le GLU sur les angles de rotation dans les différents plans, est-ce que cela suffit, ou bien faut-il lui faire parvenir les coordonnées des points ?
    Je ne connais pour l’instant qu’Access, un peu de vba, de vb et sql. Suffisamment pour réaliser la base de données, mais trop maigre pour en afficher le résultat.
    Je comprends en tout cas qu’il vaut mieux renoncer à afficher en 3D sur le formulaire Access.
    Comme l’a deviné Mat.M, c’est plutôt lent.

  6. #6
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par fistulefistule

    Si cela a du sens de continuer à jouer avec les angles des articulations du type :
    Poignetdroit.Left = Coudedroit.Left + (Cos(([angleCoudedroit] - 90) * 3.141592 / 180) * [taille] * 0.146)
    If Coudedroit.Left < Poignetdroit.Left Then
    avant_Brasdroit.LineSlant = False
    Ces calculs c'est au moteur 3d de les faire..
    à partir de la bdd il faut exporter les données sous forme de fichier texte , qui seront lues par le moteur 3d et affichées.
    A noter qu'on peut programmer Direct 3D à partir de VB donc il serait peut-être possible de créer une fenêtre de rendu dans un formulaire Access.
    C'est également et tout à fait possible avec Open GL
    Tu trouveras des codes sources pour VB là dessus
    http://www.planet-source-code.com/
    ainsi que
    http://www.vbgames.com/

  7. #7
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par fistulefistule
    Je ne connais pour l’instant qu’Access, un peu de vba, de vb et sql. Suffisamment pour réaliser la base de données, mais trop maigre pour en afficher le résultat.
    Je comprends en tout cas qu’il vaut mieux renoncer à afficher en 3D sur le formulaire Access.
    Comme l’a deviné Mat.M, c’est plutôt lent.
    Qu'appelle tu le GLU ?
    Sinon cela doit être possible de faire de la 3d avec un formulaire il y a un objet Open GL pour Visual Basic sous forme d'Active X..

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tous les moteurs 3D comprennent les quaternions. Tu peux aussi sans doute utiliser un moteur 3D pour lui donner à manger autre chose. Ton but est de créer en fait un outil qui récupère les données de la base de données et qui les transforme en qqch de compréhensioble par le moteur.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Non seulement qui récupère les données de la base et les transforme en qqch de compréhensible par le moteur, mais pour implémenter plus facilement la BDD, il faudrait que je récupère également des coordonnées de postures issues du moteur 3D.
    Cela doit être faisable, puisque je peux enregistrer des modifications réalisées sur le formulaire et stocker de nouvelles postures dans la BDD, en 2D.
    Mais je ne peux pas visualiser les fichiers ascii issus de motion capture .C3D dont je dispose.
    Je ne serais pas fâché de renoncer aux calculs de rendu 3D si le moteur veut bien s'en charger.
    Si je veux minimiser la programmation du GLU (?) (le script qui permet à ma base de données d'interagir avec le moteur ?), de l'ActiveX ou de Direct 3D, que faut-il choisir ?

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut BDD sérieuse recherche squelette pour relations durables
    Citation Envoyé par mat.M
    Qu'appelle tu le GLU ?
    Sinon cela doit être possible de faire de la 3d avec un formulaire il y a un objet Open GL pour Visual Basic sous forme d'Active X..

    Citation Envoyé par shenron666
    … glu est une bibliothèque d'utilitaires pour opengl,
    glut est une bibliothèque de fenêtrage pour opengl
    leurs fonctions et utilités sont totalement différentes ..
    glup est l’onomatopée traduisant mon affliction quand j’ai lu que j’avais écrit « le » glu pour « la » glu entre le moteur et la base de données.

    J’avais l’impression de réinventer la poudre avec ma gestion des mouvements en VBA.
    Je suppose qu’il existe des Activex "clés sur porte" avec des animations de squelette. Sinon, je vais sûrement opter pour l'objet OPEN GL sous forme d'ACTIVEX, dès que j’aurai bien compris le sens de ces deux mots. Il semble que ce soit une solution plus portable.
    J'ai trouvé http://animadead.sourceforge.net et
    https://gna.org/projects/cal3d/ qui semblent pouvoir coller à mon projet.
    Si vous voyez un squelette sur Internet à la recherche de la BDD de sa vie, merci de communiquer son adresse.

    Merci beaucoup pour votre aide.

Discussions similaires

  1. [AC-2007] Erreur inconnue du moteur de base de données access
    Par Tom55555 dans le forum Access
    Réponses: 2
    Dernier message: 02/06/2015, 14h31
  2. [débutant] Connection à une base de donnée Access
    Par Lorenzox dans le forum JBuilder
    Réponses: 1
    Dernier message: 25/10/2004, 16h28
  3. Réponses: 15
    Dernier message: 25/10/2004, 11h50
  4. [Déploiement]Base de donnée Access
    Par Giovanny Temgoua dans le forum Bases de données
    Réponses: 9
    Dernier message: 09/08/2004, 20h48
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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