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 :

Zoom sur des vecteurs ou lignes


Sujet :

Algorithmes et structures de données

  1. #1
    mat.M
    Invité(e)
    Par défaut [Résolu] Zoom sur des vecteurs ou lignes
    Question idiote : comment faire un zoom avec des lignes , polygones..??
    Je réalise avec VC++/MFC une appli de cartographie avec des vecteurs , peut-être il ya un moyen d'utiliser des API pour cela.
    Sinon comment zoomer un vecteur de coordonnées (x1,y1)-(x2,y2) selon un facteur ??
    La question est peut-être du niveau école primaire mais je n'ai pas réussi à obtenir des résultats concluants.
    Le gros problème est en mode dessin car il faut transformer les coordonnées.

  2. #2
    mio
    mio est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 65
    Points : 168
    Points
    168
    Par défaut
    Qu'est ce que tu entends par zoom ?
    Une homothetie ?
    Si c'est le cas tu appliques la transformation aux points caracteristiques de ta figure (deux points pour une droite, trois pour un carre) et tu retrace ton element a partir de ces points. OM'= alpha * OM ou O est le centre de l'homothetie et alpha le rapport, et OM et OM' des vecteurs. Si O est aussi l'origine du repere ca revient simplement a faire un produit sur les coordonnes, sinon tu peux te ramener a ce cas.
    Une affinite ?
    c'est le meme genre d'idée avec des petites modifications.

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Merci mio pour la réponse en fait oui c'est une homotétie d'un vecteur ( pas de triangle ) mais avec recentrage .
    En clair je veux faire un soft comme AutoCad pour tracer des lignes et zoomer...

  4. #4
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 44
    Points : 49
    Points
    49
    Par défaut
    je dirai que tu as deux solutions :

    * la première, sans doute celle qui vient l'esprit en premier, qui est d'appliquer un homothétie à tous tes points.

    * la 2e, beaucoup plus performante et pratique pour les évolutions du prog, consiste à définir un repère virtuel, et des fonctions pour convertir au dernier moment les coord du repère virtuel vers le repère de ton canvas. Comme ça tu n'as pas besoin de changer toutes tes coordonnées, mais seulement de modifier le repère virtuel.

    Cette 2e solution fonctionne aussi bien en 2D qu'en 3D.

  5. #5
    mat.M
    Invité(e)
    Par défaut [Resolu]
    Merci mio et Pazz pour les réponses , je vais essayer d'appliquer vos conseils.

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 123
    Points : 130
    Points
    130
    Par défaut coordonnées homogènes
    Une coordonnée homogène est représentée par le triplet :
    (x,y,W)
    de plus,
    (x',y',W') représente le même point si et seulement l'un est un multiple de l'autre.
    Pour obtenir W'=1, il te suffit de poser: x'=x/W,y'=y/W et W'=W/W

    En effet, si l'on considère un ensemble de bipoints décimaux compris entre 0 et 1.
    Le fait de multiplier tous les points par un facteur de 2 agrandit d'autant la distance entre les points donc la taille des objets.

  7. #7
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 44
    Points : 49
    Points
    49
    Par défaut
    vi mais pour faire un zoom, c plus propre, plus simple et souvent plus efficace de changer le repère et de pas toucher aux points.

    D'ailleurs si on touche aux points, c plus vraiment un zoom.

  8. #8
    mat.M
    Invité(e)
    Par défaut [Résolu] Zoom sur des formes géométriques
    Encore une fois merci , ça y est j'ai réussi à faire ce que je voulais

Discussions similaires

  1. [SSIS]Doublons sur des millions de ligne
    Par MeriConsult dans le forum SSIS
    Réponses: 5
    Dernier message: 19/12/2008, 08h04
  2. Réponses: 6
    Dernier message: 01/04/2008, 18h47
  3. Réponses: 4
    Dernier message: 24/02/2008, 21h16
  4. [Tableaux] calculs sur des vecteurs
    Par fAdoua123 dans le forum Langage
    Réponses: 5
    Dernier message: 12/02/2008, 13h13
  5. erreur dans programme java sur des vecteurs 3D
    Par HighSchool2005 dans le forum Langage
    Réponses: 18
    Dernier message: 15/02/2007, 16h38

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