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 Discussion :

Zoom avec la molette sur la position de la souris


Sujet :

C

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 36
    Points : 23
    Points
    23
    Par défaut Zoom avec la molette sur la position de la souris
    Bonjour tout le monde je viens de finir de coder un programme qui dessine des fractales .

    Pour ça j'ai suivi ce lien.

    Pour être précis j'ai utilisé cet algo pour dessiner Mandelbrot :

    Code algo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    définir x1 = -2.1
    définir x2 = 0.6
    définir y1 = -1.2
    définir y2 = 1.2
    définir image_x = 270
    définir image_y = 240
    définir iteration_max = 50
     
    // on calcule la taille de l'image :
    définir zoom_x = image_x/(x2 - x1)
    définir zoom_y = image_y/(y2 - y1)
     
    Pour x = 0 tant que x < image_x par pas de 1
        Pour y = 0 tant que y < image_y par pas de 1
            définir c_r = x / zoom_x + x1
            définir c_i = y / zoom_y + y1
            définir z_r = 0
            définir z_i = 0
            définir i = 0
     
            Faire
                définir tmp = z_r
                z_r = z_r*z_r - z_i*z_i + c_r
                z_i = 2*z_i*tmp + c_i
                i = i+1
            Tant que z_r*z_r + z_i*z_i < 4 et i < iteration_max
     
            si i = iteration_max
                dessiner le pixel de coordonné (x; y)
            finSi
        finPour
    finPour

    Maintenant je voudrai implémenter un zoom infini avec la molette de la sourie a la position du curseur exactement comme Google map.

    Mais là je ne capte vraiment pas comment faire... J'arrive bien à dessiner une partie de mandelbrot et a zoomer en suivant cette partie du tuto

    Mais je ne comprends pas où rajouter les coordonnées de la sourie pour être toujours à la bonne position quand j’initialise x1, x2, y1, et y2 .

    Pouvez-vous me donner quelques infos, ou m'aider à comprend svp ? Merci Beaucoup

  2. #2
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    À l'aveugle comme ça je dirais que ça correspond à une homothétie dont le centre est le point sous le curseur au moment de l'évènement « molette ». En déplaçant ce point à l'origine, en effectuant la mise à l'échelle puis en ré-appliquant la translation inverse on devrait obtenir la transformation souhaitée.

    Soit, si c est le centre de l'homothétie, k le rapport d'échelle (relatif au repère courant, pas en absolu !) et p0 le point à transformer : p1 = k * (p0 - c) + c .

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 36
    Points : 23
    Points
    23
    Par défaut
    Merci Matt_Houston C'est exactement ca

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

Discussions similaires

  1. Zoom avec la molette
    Par cmail dans le forum IGN API Géoportail
    Réponses: 20
    Dernier message: 10/10/2009, 10h13
  2. Rotate3D et zoom avec la molette
    Par El_bennito dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 08/07/2009, 13h56
  3. Bouger image avec clavier souris + zoom avec molette
    Par yggdrasylv dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 03/03/2009, 00h02
  4. Gestion du Zoom avec le source d'Arkham sur GdiPlus
    Par krina85 dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/08/2007, 19h23
  5. Stopper le défilement avec la molette sur un combobox
    Par molo dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/06/2005, 09h03

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