Bonjour !
J'utilise un logiciel dont je peux programmer des fonctions. L'une d'elles est de pouvoir zoomer un point de l'écran selon la position de la souris.
La fonction est simple et est la suivante :
"Sur l'évènement « Shift + Clic », met l'endroit où se trouve la souris au centre de l'écran et zoom de z %."
Seulement voilà, en fonction du pourcentage du zoom, je suis obligé d'affecter un coefficient aux positions {x,y} de la souris pour que le « centrage » soit correct.
Voici le tableau des coefficients nécessaires par rapport à la valeur du zoom (valeurs mesurées) :
Zoom (%) Coef.
100 -2.2
150 0
200 0.4
300 0.66
400 0.765
500 0.82
1000 0.9175
3000 0.9738
J'aimerai trouver l'équation de la courbe obtenue afin de calculer automatiquement le coefficient à appliquer. J'ai essayé avec des logiciels tels qu'Excel ou Sine Qua None, mais ayant des valeurs mesurées approximatives, les logiciels ne donnent rien. Please, help me !
Merci.
Bonjour,
tu as posté ton topic dans la rubrique "calculatrice", mais j'ai comme l'impression que tu parles plutôt d'un logiciel que tu développes, non ?
De plus, je ne trouve pas assez claires et complètes les informations et explications que tu donnes.
Si tu pouvais fournir des captures d'écran pour qu'on comprenne le problème, ce serait plus clair je pense.
Bonjour jamo,
Mince, moi qui pensé avoir étais clair...
Non, je ne développe pas un logiciel, c'est un logiciel que j'utilise (CIMPLICITY). C'est pour faire des pages de supervision.
La fonction "Zoom" est une fonction du lociel. On lui donne la position de la souris en x et en y, puis le pourcentage du zoom (z). La fonction zoom à l'endroit donné (x,y) de z%. Or, pour d'obscures raisons, il faut corriger la position x,y avec un coefficient (c), sinon le zoom est ailleurs. (sauf pour 150%)
Exemple :
- Je veux zommer à la position 960,800 de mon écran de 200%
- Le logiciel zoom de 200% à la position 2400,2000 (!?)
- Je multiplie x et y par mon coef :
x * c = 2400 * 0.4 = 900
y * c = 2000 * 0.4 = 800
- je retombe à la position voulue.
Le coefficient est obtenu par tâtonnement, d'où son imprécision, et est différent pour chaque valeur du zoom (sauf 150%, c = 0).
J'espère que c'est moins flou...
J'aimerai donc découvrir l'équation de la courbe, obtenue par "mesure", afin que le coefficient soit automatiquement calculé, quelque soit a valeur du zoom.
Bonjour,
Je suis pas certain de bien comprendre :
Hou là ! Effectivement, c=1 ... Honte à moi.
Je ne sais pas s'il serait simple de demander aux auteurs du logiciel de corriger ce bug, mais c'est une solution.
Cependant, j'aurais bien aimé la trouver mon équation
Est-ce vraiment si difficile ?
Oui, il est sûrement possible de modéliser ces coefficients ... à condition que les valeurs données soient correctes. En particulier, j'ai du mal à comprendre comment un coefficient peut être négatif dans ce cas (zoom 100%).
Je confirme la valeur négative pour un zoom à 100%. Quant à la raison...
Comment puis-je m'y prendre pour la modélisation ?
Pourrais-tu donner le détail de ton calcul ? Car enfin, si le coefficient c est négatif, ça nous fait un nombre négatif de pixels : comment celà est-il possible ?
Bonjour patrice,
Il faut d'abord savoir que dans mon cas, l'écran affiché dans son état initial est à 80%. Ensuite, {0,0} est le point visible en bas à gauche de l'écran. Prenons l'exemple suivant :
Si la souris est à l'extrême gauche de l'écran, un zoom à 100% grossi l'image affichée et l'endroit où j'ai cliqué n'est plus à l'écran. Il se trouve donc à une position négative, car plus à gauche que la gauche de l'écran (visible) ! Il me faut donc un coefficient négatif.
Eratum : Le coefficient à 150% est bien c=0, car la formule est :
New_X = Old_X + (Valeur * Coef)
A 150% New_X = Old_X
OK, je comprends mieux avec cette nouvelle formule
Je réfléchirai demain matin : je n'ai plus le temps maintenant ...
Voici une proposition qui "colle" à peu près à tes valeurs : .
Ci-dessous, la courbe en bleu et tes valeurs représentées par les petits points noirs (sauf celui d'abscisse 3000 qui déborde) :
Un grand merci à toi Patrice !
Le test pratique de la fonction m'a permit de la corriger comme suit :
Me voilà comblé !
Est-ce que la méthode pour parvenir à cette fonction est accessible ? Quelle fut ta démarche ? Avoir la solution est une chose, mais je culpabilise de t'avoir laissé travailler tout seul...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :