Rapport de projet décrivant la mise en oeuvre du programme "ligne de balayage" sur VB.net. Le principe de ce programme est de connaître l'ensemble des points d'intersection existant pour une collection de segments donnés grâce à une interface graphique.
[...] On cherche à connaître tous les points d'intersection de ces segments classés par abscisses croissantes. Afin de trouver ces points, on a créé un algorithme qui permet de résoudre ce problème. Sur une position x0, un ensemble partiel S de segments est intersecté par la ligne L. Les segments sont classés dans cet ensemble selon les valeurs Y des points d'intersection avec L. E est l'ensemble des points d'intersection que l'on cherche à déterminer. Pendant le balayage, on modifie le contenu de S aux points : Xg : abscisse de l'extrémité gauche d'un segment qui est alors inséré dans S. [...]
[...] Il y a donc 2n points pour n segments. L'algorithme implémente les procédures suivantes : Rapport de projet : lignes de balayage G41 Supprimer la valeur minimale de l'abscisse de X et actualiser S et E en fonction de la nature de ce point (gauche, droit, intersection). L'actualisation de S est réalisée par l'insertion, la suppression d'un segment ou la permutation de deux segments. Après cette première étape, on teste l'intersection entre chaque binôme de segments voisins actualisés. Dans le cas où on trouve un point d'intersection nouveau, celui-ci est inséré dans E. [...]
[...] Quand on supprime l'abscisse d'un segment X de E pour un point d'intersection, ce point est ajouté dans un tableau tabE. A la fin de l'algorithme, on renvoie les éléments de tabE ordonnés par abscisses croissantes Mode d'emploi du programme Grâce à l'interface graphique présente dans la procédure, on peut générer par un simple clic des paires de points qui sont ensuite reliées entre eux et forment ainsi des segments. On visualise ces segments (en bleu dans l'interface) Par un clic sur le bouton ‘intersection', on visualise : D'une part les points d'intersection dans l'interface graphique D'autre part les coordonnées des points dans la zone de texte située à gauche de l'interface. [...]
[...] On ne considèrera pas les segments verticaux et les points critiques identiques. Pour implémenter cet algorithme, on utilise les procédures suivantes : AjouterdansS(X) : ajoute le segment X dans S. SupprimerdansS(X) : supprime le segment X dans S. Segmentsur(X) : renvoie tous les segments au dessus de X dans s'ils existent. Segmentsous(X) : renvoie tous les segments au dessous de X dans s'ils existent. PremierE : renvoie l'abscisse minimale de E et la supprime de E. InsererdansE(X) : insère le segment X dans E. [...]
[...] Enoncé du problème et de la solution attendue 2. Mode d'emploi du programme 3. L'algorithme en pseudo code 4. Modélisation de différents mécanismes 5. Conclusion G41 Rapport de projet : lignes de balayage G41 Lignes de Balayage 1. Introduction - Enoncé du problème et de la solution attendue On cherche à connaître l'ensemble des points d'intersection existant pour une collection de segments donnés grâce à une interface graphique. On se donne grâce à cette interface n segments dans un même plan. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture