je doit déssiner un triangle qui suit une droite. Comment orienter mon triangle dans le bon sens ?
Ia -t-il 1 algo ou dois-je vaire des tests de fou ?
merci
je doit déssiner un triangle qui suit une droite. Comment orienter mon triangle dans le bon sens ?
Ia -t-il 1 algo ou dois-je vaire des tests de fou ?
merci
avec quoi dessines tu ta droite et ton triangle? Avec GD?
nan je le fait en SVG.(que je genere en php)
c'est un trinagle isocèle, équilatéral ou quelconque ?
c un triangle isocele.
Sur un ensemble de droite (qui représente un parcours de véhicule) ces triangles indiquent le sens du déplacement.
à partir de ta droite en y=ax+b, trouve l'eq de la perpendiculaire en un x ou un y particulier,
droite que tu transforme en segment centré en le point l'intersection et de longueur la base de ton triangle isocèle
et trouve les éq des 2 droites qui partent des extrémitées de ton segment et coupe la droite du départ de manière a avoir la bonne longeur pour ta hauteur
ben ui mais je le fait dans quel sens ?et trouve les éq des 2 droites qui partent des extrémitées de ton segment et coupe la droite du départ de manière a avoir la bonne longeur pour ta hauteur
le probleme c'est pas de tracer un triangle c'est de la faire dans le bon sens.
Néanmoins merci.
Comme d'habitude il n'y a pas assez de données...Envoyé par lefait
Si ta droite n'est pas orienté tu ne peux pas orienter ton triangle, c'est bête comme choux... maintenant si il y a un moyen de déterminer un sens... il faudrait nous donner des pistes... des indices... ou un exemple peut-être.
Pendant que tu es dans les précisions, peux-tu expliciter ce que veut dire
- un triangle que tu déplaces en translation
Code : Sélectionner tout - Visualiser dans une fenêtre à part un triangle qui suit une droite
- un triangle dont un sommet est sur une droite
- un triangle dont un côté est confondue avec la droite ?
en effet c'est vrai ke je n'est pas assez décrit mon probleme.
J'ai un ensemble de droite qui représentent un parcours de véhicule. Ces droites sont définis pas leur position (abs/ord).
Le but est de placer sur chacunes de ces droites un triangle (représentant une fleche) qui indique le sens kutilise le vehicule pour passer sur cette droite (du point de départ au point d'arrivée).
Pour determiner le sens, on possede le point de départ et le point d'arrivée sur la droite.(le véhicule va ds le sens pt départ -> pt d'arrivée)
Le triangle doit donc etre placer sur cette droite la base étant perpendiculaire à la droite et le sommet étant sur cette droite.
voila un shéma :
la difficulté étant que la droite peut être placer n'importe comment (diagonale, verticale) et ds nimporte kel sens (de goche à droite ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 |\ depart ________| \_____________arrivee | / |/
voila, j'espere avoir apporter un peu plus de précision.
merci.
Une fois, j'avais réfléchi pour tracer des vecteurs (segment avec flèche au bout): j'avais trouvé une bidouille. Je t'explique le principe en décomposant en plusieurs transformations (si je m'en souviens bien):
- Je partais d'un triangle A(0; 0) B(-5; -3) C(-5; 3)
Ainsi le triangle ABC de départ (je ne le trace pas) convient pour une droite horizontale dont la pointe serait en (0, 0). Il regarde vers la droite.
- Je lui applique une rotation autour de O pour l'orienter correctement.
- Je lui applique la translation qui améne A à l'extrémité de du segment (à sa place quoi).
Dans la pratique, j'avais établi les formules pour n'effectuer qu'un seul mouvement.
Le point un peu délicat a été la détermination de l'angle. J'avais utilisé des if pour discuter les cas (le sens, ...).
Je crois que pour d'autres raisons, je n'utilisais pas directement les coordonnées usuel d'un écran mais je passais par un repère plus mathématique usuel.
Je travaillais en Delphi et pour le tracé je suis passé par Canvas.PolyBezier (meilleur rendu ?)
Je ne sais pas si tu peux adapter ceci ?
en effet ca pourait convenir. Mais on se retrouve avec des tests. Bon ben je pense ke je vé le faire a l'arrache et ej verré ensuite si il existe 1 meilleure solution.
Tu as les formules à l'adresse :
http://lionel.romain.free.fr/gd_fleche.html
Heu... Un segment, en informatique, n'a t'il pas un PREMIER et un DEUXIEME point ?
Je pense que ça suffit pour définir un sens.
Pour ce qui est de la conversion de repère, c'est probablement parceque l'axe Y est inversé (croissant vers le bas sur un écran) La translation necéssaire ne pose en général aucun soucis.
Quant à toi, fatima-zohra, pourquoi veux tu avoir des test ?
A part celui qui sert à determiner si y est négatif, je ne vois pas : m'explique:
A partir de (x,y), tu peut déduire (x', y') vecteur de la droite dans un repère mathématique centré (c'est à dire (x-x_screen_center, -(y-y_screen_center)).
De là, cos(angle) = x'/y'... Tout bêtement.
Il te reste a déterminer néanmoins (vu que cos(alpha)=cos(-alpha)) si tu doit ajouter PI au nombre trouvé.
Seul test de l'algo, il est justifié même en maths.
Alors je vois pas ce qui te dérange.
[mode=troll]
C'est ta touche 'i' ou 'f' qui est cassée
[/mode]
PS : le tag dans le titre sert a rien. Mais l'intention était bonne !!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager