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 :

agrandir un objet 3d reprresenté à l'aide de nuage de points


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 94
    Par défaut agrandir un objet 3d reprresenté à l'aide de nuage de points
    Salut
    j'ai un objet3D représenté à l'aide de nuage de points et j'ai voulu savoir comment faire pour agrandir cet objet ou le rendre plus petit.
    merci d'avance

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    tu n'as qu'à appliquer les transformations classiques, le fait que ce soit un nuage de points ne change pas le problème...
    Fais une recherche sur les mots clefs "zoom", "agrandissement", "scale" dans ce forum.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    L'application d'une simple matrice de transformation de ce type fera l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    x 0 0 0 
    0 y 0 0
    0 0 z 0
    0 0 0 1
    Pour une transformation uniforme on a x=y=z. L'avantage d'avoir un nuage de point, c'est de pouvoir paralleliser le tout (SSE par ex).

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 94
    Par défaut
    Salut
    merci PRomu@ld,mais franchement j'ai rien compris.
    est-ce que vous pouvez m'expliquer en détails?si ça ne vous dérange pas bien sur.

  5. #5
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Si tu n'as même pas un tout petit peu de notions de matrices de transformation je ne vois pas quel espoir tu peux avoir à travailler avec un nuage de points 3D.

    http://jeux.developpez.com/faq/matqu...ithmetique#Q11

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 94
    Par défaut
    bonsoir
    merci pour les explications,j'ai dés que j'ai vu votre reponse j'ai fait une petite recherche et j'ai compris comment utiliser les matrices de mise à l'echelle et de rotation.

    mais dans le cas sur lequelle je travaille je sais pas comment fixer le vecteur de mise à l'echelle(x,y,z)

    je vous expliquerai plus: j'ai deux objets de meme type répresentés achacun par un nuage de points l'un est un peu plus grand que l'autre et tout les deux se trouvent dans une boite qui l'englobe.
    ce que je dois faire ,c'est agrandir le petit pour qu'il puisse etre englobé par la boite de l'autre et vice versa

  7. #7
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Euh, je pensais pas être si abstrait que ça

    En fait pour agrandir ou rétrécir un objet, il faut le transformer (pour les déplacer et leur appliquer des rotations aussi).

    Afin de les transformer, on leur applique une matrice de transformation. Pour la matrice de mise à l'échelle (ce que tu veux), il s'agit de la matrice que je t'ai donné. Les paramètres x,y et z définissent l'agrandissement sur l'axe x l'axe y et l'axe z. Sachant qu'une valeur de 1 conservera la taille initiale.

    Maintenant, je pense que ta question est plutôt comment appliquer la matrice de transformation. Et bien, c'est très simple, c'est de l'algèbre linéaire.

    Tu prends un point en 3D sous sa forme homogène :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    P = ( i , j , k , 1 )
    Le nouveau point est donné par :

    Où P' est le nouveau point, M la matrice de transformation et * la multiplication matricielle classique de l'algèbre linéaire.

    Comme ici la matrice de transformation est diagonale le résultat est tout simple :

    P' = ( x * i , y * j , z * k , 1 )

    Il y a plein d'information ici :

    http://jeux.developpez.com/faq/matquat/

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

Discussions similaires

  1. Placement d'objet "Frame" a l'aide de grid
    Par ju_bicycle dans le forum Tkinter
    Réponses: 1
    Dernier message: 27/10/2009, 10h46
  2. Mise à jour Objet access a l'aide de vb6
    Par driver dans le forum VBA Access
    Réponses: 6
    Dernier message: 16/08/2008, 10h48
  3. Réponses: 3
    Dernier message: 09/04/2008, 14h24
  4. [VB6 + Excel] besoin d'aide sur 3 petits points
    Par Mackouacloth dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/07/2007, 16h09
  5. aide vb2005 pb de point d'arret
    Par kirtap1969 dans le forum Visual Studio
    Réponses: 1
    Dernier message: 19/04/2007, 20h25

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