formule de segment a partir des 2 points qui le definissent ?
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

formule de segment a partir des 2 points qui le definissent ?



  1. #1
    invite27b792fa

    formule de segment a partir des 2 points qui le definissent ?


    ------

    Bonjour,
    je dois tracer des segments a l'aide des coordonnees de leurs extremites (en C, mais c'est pas le probleme),
    j'y arrive, lorsque la difference entre les abscisses et superieure a celle entre les ordonnees, c'est a dire lorsqu'on se deplace plus sur la longueur que sur la hauteur, a l'aide de la formule:
    pour x,
    y = y1+((y2-y1)*(x-x1))/(x2-x1)

    avec 1(x1, y1) et 2(x2, y2) ou 1 et 2 sont les point de "depart" et "d'arivee" du segment.
    (Il faut quand meme inverser les 2 points en fonction du sens)

    Mais lorsque la difference entre les abscisses et inferieure a celle entre les ordonnees,
    j'ai essaye:
    y = x1+((x2-x1)*(y-y1))/(y2-y1)

    Mais ca ne marche pas.

    Alors si vous pouviez m'aider, il me manque plus que la formule j'ai deja l'algo..
    (c'est de l'igraph)

    D'avance, merci.

    -----

  2. #2
    polo974

    Re : formule de segment a partir des 2 points qui le definissent ?

    tu échanges x et y et tu retombes dans le premier cas.

    sinon, recherche bresenham...

    (ah, souvenirs, souvenirs...)
    Jusqu'ici tout va bien...

  3. #3
    invite27b792fa

    Re : formule de segment a partir des 2 points qui le definissent ?

    Citation Envoyé par Seifer97 Voir le message
    j'ai essaye:
    y = x1+((x2-x1)*(y-y1))/(y2-y1)
    N'est ce pas ce que j'ai essayé ?
    EDIT: Je voulais dire "x =" et non y.

    974... La Réunion <3, mon île .

  4. #4
    polo974

    Re : formule de segment a partir des 2 points qui le definissent ?

    Ste Suzanne

    il faut aussi échanger dans la boucle de contrôle, et comme elle n'est pas là... (à vérifier)

    1er cas:
    Code:
    for( x= xmin; i <= xmax; x++)
    {
        y=...x...;
        plot(x,y);
    }
    2ème cas:
    Code:
    for( y= ymin; y <= ymax; y++)
    {
        x=...y...;
        plot(x,y);
    }
    remplacer les ... par ce qu'il faut...
    (si possible sortir la division de la boucle)

    car en fait y= ax + b, il "suffit" de calculer a et b avant d'entrer dans la boucle, (attention aux arrondis...)
    Jusqu'ici tout va bien...

  5. A voir en vidéo sur Futura
  6. #5
    invite27b792fa

    Re : formule de segment a partir des 2 points qui le definissent ?

    Saint Denis

    y = ax + b dans le cas ou il y a plusieurs x pour un y, mais en l'occurence ici, il y a plusieurs y pour un x. Non?

    Et mes boucles sont deja adaptees, enfin je crois:

    int x;
    void *mlx_ptr;
    void *win_ptr;

    mlx_ptr = mlx_init();
    win_ptr = mlx_new_window(mlx_ptr, 800, 600, "Fenetre");
    x = x1;
    while (x <= x2)
    {
    mlx_pixel_put(mlx_ptr, win_ptr, x, y1+((y2-y1)*(x-x1))/(x2-x1), 255);
    x++;
    }

    Pour le premier cas.

    Et pour le deuxieme cas:

    int y;
    void *mlx_ptr;
    void *win_ptr;

    mlx_ptr = mlx_init();
    win_ptr = mlx_new_window(mlx_ptr, 800, 600, "Fenetre");
    y = y1;
    while (y <= y2)
    {
    mlx_pixel_put(mlx_ptr, win_ptr, x1+((x2-x1)*(y-y1))/(y2-y1), y, 255);
    y++;
    }

    ...

  7. #6
    polo974

    Re : formule de segment a partir des 2 points qui le definissent ?

    Et tu fais aussi ça dans le second cas?
    (Il faut quand meme inverser les 2 points en fonction du sens)]
    Car ça devrait aller autrement...

    En gros:
    calcul dx et dy.
    si abs(dx) > abs(dy)
    ...si dx negatif echange 1 et 2
    ...tracer ave x comme indice
    sinon
    ...si dy negatif echange 1 et 2
    ...tracer avec y comme indice

    Pour suivre tout ça, mettre plein de printf de debug vers un fichier, puis essayer dans tous les octants.
    Dernière modification par yoda1234 ; 26/11/2009 à 09h56. Motif: Correction balise quote
    Jusqu'ici tout va bien...

Discussions similaires

  1. DM déterminer réels a partir de deux points.
    Par invite25469902 dans le forum Mathématiques du collège et du lycée
    Réponses: 9
    Dernier message: 11/10/2009, 16h23
  2. changement de repere a partir de 3 points
    Par EmKa69 dans le forum Mathématiques du supérieur
    Réponses: 10
    Dernier message: 19/04/2009, 23h55
  3. Points+segment
    Par Jack Burner dans le forum Physique
    Réponses: 1
    Dernier message: 17/12/2008, 09h52
  4. Caractéristiques d'un tore à partir de n points
    Par nicoserm dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 05/05/2008, 19h25
  5. Quantification des points d'un segment...
    Par SPH dans le forum Mathématiques du supérieur
    Réponses: 55
    Dernier message: 15/02/2005, 21h26
Découvrez nos comparatifs produits sur l'informatique et les technologies.