Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: sfTransform rend des valeurs fausses  (Lu 5987 fois)

0 Membres et 1 Invité sur ce sujet

HomegaSuixx

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
sfTransform rend des valeurs fausses
« le: Septembre 08, 2018, 03:50:04 pm »
Bonjour,

Je rencontre des problèmes avec toutes les fonctions sfTransform.
Elles rendent des valeurs fausses.

Code :
        /* Creation du Array de vertex et du PrimitiveType */

        sfVertexArray *a = sfVertexArray_create();
        sfVertexArray_setPrimitiveType(a, sfLines);

        /* Appends de 2 Points */

        sfVertexArray_append(a, (sfVertex){(sfVector2f){100, 100}, sfRed, (sfVector2f){0, 0}});    // P1
        sfVertexArray_append(a, (sfVertex){(sfVector2f){150, 100}, sfRed, (sfVector2f){0, 0}});    // P2
       
        /* Creation de la Transformation */

        sfTransform t;
        sfTransform_translate(&t, -100, -100);
       
        /* Transformation sur mes 2 Points */

        sfVertexArray_getVertex(a, 0)->position = sfTransform_transformPoint(&t, sfVertexArray_getVertex(a, 0)->position);
        sfVertexArray_getVertex(a, 1)->position = sfTransform_transformPoint(&t, sfVertexArray_getVertex(a, 1)->position);
 

Après transformation, le resultat est (0.00, -nan).
Changer la translation par une rotation avec center en (0, 0) donne :
P1:(0.00, 91650810461577940041728.00)
P2:(1184307934834922094592.00, 114563522084171679793152.00)
« Modifié: Septembre 08, 2018, 03:54:37 pm par Laurent »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: sfTransform rend des valeurs fausses
« Réponse #1 le: Septembre 08, 2018, 04:01:34 pm »
Si c'est sfTransform qui pose problème, a-t-on vraiment besoin de tout le bazar avec sfVertexArray à côté ? Parce que là, ça rajoute plein de causes possibles de problème, pas seulement sfTransform. Essaye de fournir un code complet minimal qui démontre le problème clairement, sans superflu.

Ensuite, cette syntaxe :
Citer
(sfVector2f){100, 100}
... c'est vraiment standard en C ? Si tu essayes avec une syntaxe un peu plus commune, est-ce que ça change quelque chose ?

Autre chose, ton sfTransform "t" n'est jamais initialisé, il faudrait lui affecter sfTransform_Identity avant toute chose (c'est la cause la plus probable de ton problème).

Et enfin, tu utilises quel compilateur et quelle version de SFML ?
Laurent Gomila - SFML developer

HomegaSuixx

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re: sfTransform rend des valeurs fausses
« Réponse #2 le: Septembre 11, 2018, 06:11:11 pm »
C'est bon j'ai réglé le problème.

Merci de ta réponse Laurent.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: sfTransform rend des valeurs fausses
« Réponse #3 le: Septembre 11, 2018, 08:53:39 pm »
Je pense que ce serait utile, pour les autres personnes qui auraient des problèmes similaires, de donner la solution ;)
Laurent Gomila - SFML developer