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 :

[C++14] Math basique, déplacement


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Par défaut [C++14] Math basique, déplacement
    Bonjour à tous, j'ai un petit oublie niveau math avec std::sin et std::cos. Je veux calculer un déplacement d'une position 2d vers une autre avec des sf::Vector2f de la SFML2. Quelqu'un peux me rappelé comment faire ?
    Merci ^^

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    Salut!

    Pour aller du point A au point B, on fait B - A?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Par défaut
    Oui mais c'est pas ça que je veux, je veux trouver un angle via la trigonométrie et la tangente pour par la suite pouvoir me deplacer de pixel en pixel vers le point B

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Tu as deux problèmes possibles et différents:
    1. Tu disposes d'un angle et d'une distance pour déterminer le point B
    2. Tu disposes de A et B, et tu veux te déplacer d'une partie seulement


    Le premier est effectivement un problème de géométrie:

    Ton vecteur de déplacement est D = {dx, dy} = distance* {cos(angle), sin(angle) }.
    Du coup, B = A + D, ce qui revient à D = B-A.

    Une fois que tu disposes de B en coordonnées cartésiennes ({Xb, Yb}), tout est plus simple.

    Quant au second problème, a priori, ton déplacement n'est pas vraiment pixels par pixels, mais par petits pas, qui dont la longueur est fonction de la longueur du déplacement, et de sa durée.
    Si tu veux te déplacer (sans accélération) de façon à être en A au temps T1, et en B au temps T2, la position actuelle est:
    1. si T <= T1: A
    2. si T >= T2: B
    3. si T1<T<T2: A + (B-A)*((T-T1)/(T2-T1))


    C'est à dire, si le déplacement n'est pas encore fini, tu as fait une partie du déplacement, cette partie étant égal à la fraction temps écoulé / durée totale du déplacement

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Par défaut
    Merci, c'est exactement ce qu'il me fallait ^^"

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

Discussions similaires

  1. #include "math.h" et #include <math.h>
    Par pounka dans le forum C
    Réponses: 4
    Dernier message: 01/05/2003, 21h06
  2. Déplacement "automatique" du curseur
    Par Amenofis dans le forum Composants VCL
    Réponses: 2
    Dernier message: 08/01/2003, 18h57
  3. Problème de math....
    Par zdra dans le forum Mathématiques
    Réponses: 6
    Dernier message: 11/11/2002, 10h59
  4. Limiter le déplacement de la souris
    Par el_bouleto dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/11/2002, 23h56
  5. Maths : équations
    Par Anonymous dans le forum Mathématiques
    Réponses: 5
    Dernier message: 02/05/2002, 16h41

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