![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Algorithmes Forum d'entraide sur l'algorithmique, l'intelligence artificielle, le traitement numérique d'images et les mathématiques. Avant de poster : Cours d'algorithmique |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() |
Bonjour,
Voila, je sais pas si je poste a la bonne rubrique, si c'est mauvais veuillez m'en excuser. Le problème : Je fais un logiciel CAD avec comme élément des pastilles, vecteurs et arcs. Je connais donc pour chaque type d'objet les coordonnées ainsi que les diamètres. Maintenant lorsque je fais une fenêtre pour sélectionner des objets, je veux que ceux qui touche la fenêtre soit aussi sélectionné. Mais la j'ai un souci, je ne vois pas trop comment faire. Avez vous des idées ? Merci Denis |
|
|
|
|
|
#2 (permalink) |
![]() Date d'inscription: avril 2005
Localisation: Chasseneuil-du-Poitou
Âge: 23
Messages: 3 616
|
Si ta vue est en 2D, il n'y a pas trop de soucis, tu détermines s'il y a une intersection entre le rectangle de selection et les objets. Si c'est en 3D, tu détermines s'il y a intersection entre le "cone" (formé par le centre de ta caméra et le rectangle) et les objets, c'est un peu plus délicat mais pas insurmontable.
__________________
http://rperrot.developpez.com Vous désirez contribuer à la rubrique algorithme, n'hésitez pas à me contacter. |
|
|
|
|
|
#4 (permalink) | |
![]() Date d'inscription: décembre 2006
Localisation: Montpellier
Âge: 36
Messages: 4 724
|
Citation:
La limite de cette méthode c'est qu'elle peut sélectionner un arc/vecteur/pastille qui ne touche pas réellement la fenêtre, mais ou seulement sa "boite englobante" touche la fenêtre.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
|
|
|
|
#5 (permalink) |
|
Candidat au titre de Membre du Club
![]() |
Et bien je ne veux pas qu'un objet non touchant a la fenêtre soit sélectionné.
Je pense faire la chose suivante pour les vecteurs : Grossir la fenêtre de sélection du rayon de l'épaisseur du trait faisant le vecteur Calculer le point d'intersection entre l'âme du vecteur et les 4 vecteurs de la fenêtre. Si il y a une intersection (dans la limite des vecteurs) alors c'est sélectionné. Pour les arcs, c'est peut être la même chose, a voir. Denis |
|
|
|
|
|
#6 (permalink) | |
![]() Date d'inscription: avril 2005
Localisation: Chasseneuil-du-Poitou
Âge: 23
Messages: 3 616
|
Citation:
Ca ne me semble pas insurmontable pour les deux premiers (même trivial), pour le troisième, il faut préciser un peu plus ce que tu entends par arc. Est-ce un arc de cercle ou une sorte de spline ?
__________________
http://rperrot.developpez.com Vous désirez contribuer à la rubrique algorithme, n'hésitez pas à me contacter. |
|
|
|
|
|
|
#7 (permalink) | |
![]() Date d'inscription: décembre 2006
Localisation: Montpellier
Âge: 36
Messages: 4 724
|
Citation:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
|
|
|
|
#9 (permalink) | |
![]() Date d'inscription: avril 2005
Localisation: Chasseneuil-du-Poitou
Âge: 23
Messages: 3 616
|
Citation:
__________________
http://rperrot.developpez.com Vous désirez contribuer à la rubrique algorithme, n'hésitez pas à me contacter. |
|
|
|
|
|
|
#11 (permalink) |
![]() Date d'inscription: avril 2005
Localisation: Chasseneuil-du-Poitou
Âge: 23
Messages: 3 616
|
A mon avis, comme ça vite fait, je dirai qu'en testant l'intersection Rectangle/Cercle et en rejetant ensuite ça devait pouvoir le faire.
L'idée de base (encore une fois très vite fait), c'est de calculer la position du point d'intersection avec le cercle puis de vérifier si le point est sur l'arc de cercle. (Tu peux faire ça par comparaison d'angles)
__________________
http://rperrot.developpez.com Vous désirez contribuer à la rubrique algorithme, n'hésitez pas à me contacter. |
|
|
|
|
![]() |
![]() |
||
Fenetre et objet
|
||
| Outils de la discussion | |
|
|