Précision de positionnement de points dans une vue

UniXUniX Membre
octobre 2005 modifié dans API AppKit #1
Salut.

Un petit problème à  exposer. C'est un problème de fond pour lequel je souhaite trouver la manière d'obtenir les meilleurs résultats.

J'ai une appli qui affiche une image dans une vue. Au dessus de cette image, j'affiche un NSBezierPath, et j'ai donc un tableau de points me permettant de construire le NSBezierPath.
Enfin, j'ai un curseur de zoom qui me permet de zoomer/dézoomer l'image. Pour afficher les points et le bezier, je prends les coordonnées des points que je multiplient par la valeur du zoom pour connaà®tre les coordonnées au moment t.

grigri.png

Mon problème : tout fonctionne bien sauf que lorsque je fais varier le zoom, les points bougent légèrement, probablement du à  la précision du calcul des coordonnées.

Au début, toutes mes coordonnées étaient des float. J'ai tout passé en double espèrant plus de précision, mais en vain.

Les questions :
1) ou puis je trouver une description des différents types de données (float, double, int ...) C'est tellement bête que je le trouve pas  :(

2) une idée de fond pour rendre plus précis ce processus ?

Réponses

  • UniXUniX Membre
    15:29 modifié #2
    Y'a pas quelqu'un parmis vous qui aurait bossé sur une appli graphique avec qui je pourrais m'entretenir ?
  • fouffouf Membre
    15:29 modifié #3
    Revois aussi tes formules de calculs pour le zoom, ca peut jouer des tour. De même, verifie si tu ne fais pas un castage en int à  un moment, ce qui aurait rendu inefficace le changement de float vers double.

    Sinon, j'ai travaillé sur une (et demi) appli graphique, surtout sur GeoX. Si tu veux, on peut voir ensemble ;)
  • UniXUniX Membre
    15:29 modifié #4
    Ouais, j'ai fait le tour en détail pour voir effectivement si j'avais pas un double transformé en int, ça c'était OK.

    En fait, sur les conseils de mpergand, j'ai utilisé un NSAffineTransform pour calculer les nouvelles coordonnées au lieu de faire le calcul à  la main, et maintenant ça roule  :adios!:

    En tout cas, merci pour ton aide.
Connectez-vous ou Inscrivez-vous pour répondre.