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 :

Point appartenant à un segment


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut Point appartenant à un segment
    Bonjour,

    Je dois insérer sur un segment des points selon une distance régulière.

    Sauf que je ne vois pas comment faire pour que ces points soient obligatoirement sur ce segment.

    J'imagine que ce segment est placé dans un repère orthonormé.

    Donc les points sont sur ce segment qui s'ils vérifient cette équation

    (D): y = ax+b

    Sauf que je ne connais pas y ni x...

    Au début je mettais mes points au milieu du segment en faisant

    x = (xa + xb)/2
    y =(ya + yb)/2

    mais maintenant j'aimerais qu'il ai une distance réglière c'est à dire que je puisse en placer plusieurs sur le segment.

    Donc :

    1) calcul de la Distance entre les points A et B.
    2) calcul du nombre de point en faisant nbPoint = Distance/30 (30 qui est la distance que je veux approximativement).
    3) calcul de la distance plus précise en faisant d = Ditance/nbPoint.
    4) calcul des coordonnées des points à rajouter.

    Merci d'avance!


    Bien cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je ne vois pas trop ce qui te bloques. Tu as l'équation de la droite. Il te suffit te choisir ton intervalle que tu veux afficher et de faire varier x avec un pas constant dans cet intervalle.
    Pour chaque x tu calcules le y correspondant et c'est bon.

    Si tu veux fixer la distance entre deux points sur ta droite, la formule de la distance c'est le théorème de Pythagore :
    AB = rac((yb-ya)²+(xb-xa)²)
    Donc en fixant la distance AB, tu peux trouver de combien tu dois incrémenter x pour que tes deux points soient à la distance voulue.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    hum calculer l'intervalle ne bloque pas tellement plus que ça.


    C'est plutôt que les points soient sur le segment et pas ailleurs.

  4. #4
    Invité
    Invité(e)
    Par défaut
    (D): y = ax+b
    Je ne comprends pas. Si les points satisfont l'équation, ils sont forcément sur la droite. Ou voudrais-tu qu'ils soient ?
    Tu connais a et b j'espère ?
    Si tu fixes x et que tu calcules y, le point est sur la droite.

    Si tu ne connais ni a ni b, il faut que tu connaissent au moins deux points sur la droite : (Xa, Ya) et (Xb, Yb).
    Tu résous alors le système de deux équations à deux inconnues :
    Ya = aXa+b
    Yb = aXb+b

    a = (Yb-Ya)/(Xb-Xa)
    b = Ya-aXa

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Bah oui je connais a et b mais je ne connais nullement y et x!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui, c'est pour ça qu'on appelle ça des variables ! Tous les x et y que tu peux imaginer qui satisfont l'équation SONT sur la courbe. Donc tu choisis une poignée de valeurs pour x, espacées comme ça t'arrange, et tu calcules les y.

    Tu n'as jamais tracé de courbe à l'école ? Tu connais ton équation, tu choisis x , tu calcules y = ax+b, et tu places le point correspondant (x,y) sur le graphique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //Mettons a=2 et b=3
    int a=2, b=3;
    List<Point> listePoints = new List<Point>();
     
    for(int x = 0 ; x < 10 ; x++)
    {
       Point p = new Point();
       p.X = x;
       p.Y = 2*x+3;
       listePoints.Add(p);
    }
    Au final tu as une liste de 10 points, régulièrement espacés, qui sont sur la courbe y = 2x+3

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

Discussions similaires

  1. point appartenant à un segment
    Par slim_java dans le forum Mathématiques
    Réponses: 6
    Dernier message: 12/08/2009, 15h15
  2. coordonnées des points constituant un segment
    Par slim_java dans le forum 2D
    Réponses: 16
    Dernier message: 12/08/2009, 14h45
  3. générer des points appartenant à l'intersection d'une sphère et d'un cône
    Par christophe_halgand dans le forum Mathématiques
    Réponses: 3
    Dernier message: 25/06/2009, 18h07
  4. [Oracle 10g] Projection d'un point sur un segment
    Par CosmoPic dans le forum SQL
    Réponses: 1
    Dernier message: 05/08/2008, 10h08
  5. [Algo] Point appartenant au triangle
    Par alexthomas dans le forum OpenGL
    Réponses: 12
    Dernier message: 05/03/2004, 16h31

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