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

Mathématiques Discussion :

Algorithme produit scalaire ?


Sujet :

Mathématiques

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Algorithme produit scalaire ?
    Bien le bonjour communauté de développeurs.
    Je vous post ce message pour vous demander de l'aide, ou plus précisément, et je n'aime pas le faire, une solution complète.
    La raison à cela est que mon professeur de Mathématique m'a à peu près expliqué comment résoudre mon problème, mais m'a dit qu'il fallait utiliser une histoire de produit scalaire et que je ne l'ai pas encore étudié...

    Ah, oui, si je vous parle de mon problème c'est effectivement mieux...
    J'ai un plan (2D), avec des coordonnées précises (mettons X et Y). De ces coordonnés part un vecteur U quelconque. Et, en fonction de ce vecteur (de ses coordonnées), j'aimerais savoir les coordonnées d'un point situé à une distance variable du point de départ. Ce point se situant sur le vecteur V perpendiculaire à U. Ayant peur de ne pas être bien clair je vous propose ce petit dessin récapitulatif

    Je connais donc : X, Y, X', Y', et la norme de V.
    Et je cherche un algorithme me permettant de savoir des coordonnées du "bout de V" quelque soient ces variables.

    En espérant d'avance que vous pourrez m'aider (au moins me mettre sur une piste de mon niveau )

    Merci,
    Shade Walker

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    utiliser une histoire de produit scalaire et que je ne l'ai pas encore étudié...
    Dans un espace à 3 dimension, le produit scalaire de deux vecteurs (x1, y1, z1) et (x2, y2, z2) vaut x1*x2+y1*y2+z1*z2. A 2 dimensions, tu supprimes les z.
    Jean-Marc Blanc

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci, mon prof' m'avais déjà expliqué ça, mais sans le cour qui va avec j'ai du mal à comprendre, je préfère donc attendre sagement le moment de l'étudier et vous demander la solution directement...

    N.B: plutôt qu'un algorithme au sens propre du terme, il me faudrait surtout une expression des deux coordonnées recherchés en fonction de tout le reste (tout du moins ce qui est nécessaire ) du genre : x''=... et y''=...

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    On n'a pas vraiment besoin du produit scalaire, si on sait trouver un vecteur orthogonal à un autre.

    Soit A, le point de coordonnées (x,y)
    Soit B, le point de coordonnées (x',y')
    Soit d, la norme de V
    Soit C, le point cherché

    Le point C est sur la droite passant par A, de vecteur directeur unitaire W, à une distance "d" de A.

    C = A + d.W

    Il nous reste à calculer le vecteur directeur unitaire W. Il doit être:
    1. orthogonal à U
    2. de norme 1
    3. orienté du bon coté (à "droite" de U)


  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Whaa, merci beaucoup pour cette explication détaillé mais ...
    Citation Envoyé par pseudocode Voir le message
    si on sait trouver un vecteur orthogonal à un autre.
    là est le problème... pour info je viens à peine de terminer le chapitre sur la colinéarité
    Vecteur directeur je vois ce que c'est mais qu'est-ce qu'"unitaire" ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    unitaire signifie qu'il est de norme unité ||w|| = 1

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Mmh, et comment on le calcule ? Je saisi pas tout le "Il doit être orthogonal à U"

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    deux vecteurs U = (x,y) et V = (x',y') sont orthogonaux (ou perpendiculaires) si et seulement si leur produit scalaire est nul :

    U.V = x*x' + y*y' = 0

    Etant donné U, si tu trouve un vecteur V qui vérifie cette condition tout vecteur a*V, où a est un réel sera colinéaire à V est par conséquent également orthogonal à U.

    a*V = (a*x',a*y')

    U.(a*V) = x * (a*x') + y * (a*y') = a*(x*x'+y*y') = a * U.V = 0

    En choisissant de ne considérer que les vecteurs unitaires, tu réduis les choix de vecteurs à 2: celui qui pointera dans le même sens que V ou celui qui pointera dans le sans opposé.

    La norme d'un vecteur se calcule comme:
    || V || = sqrt(V.V) ('sqrt' est la racine carrée)
    donc pour avoir le vecteur unitaire correspondant tu peux prendre:
    W = V/||V||

    Il faut trouver un vecteur V orthogonal à U. Il existe une solution triviale que je te laisse trouver.

  9. #9
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut
    Regarde la formule du procédé d'orthogonalisation de Gram-Schmidt et tu auras ta formule :
    http://fr.wikipedia.org/wiki/Proc%C3...e_Gram-Schmidt

Discussions similaires

  1. produit scalaire de 2 string
    Par nypahe dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 06/03/2009, 09h49
  2. calcul de produit scalaire sous PHP
    Par abegault dans le forum Langage
    Réponses: 5
    Dernier message: 21/05/2008, 14h41
  3. produit scalaire de 2 vecteurs
    Par aroua dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 07/04/2008, 13h06
  4. Produit scalaire en méta-prog, problème :p
    Par Bakura dans le forum C++
    Réponses: 5
    Dernier message: 12/06/2007, 16h03
  5. Angle entre deux droites quelconques par produit scalaire
    Par cyber_N dans le forum Mathématiques
    Réponses: 6
    Dernier message: 22/05/2005, 20h46

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