Dans mon programme, j'ai un ensemble de carrés d'échecs dessiné sur le panneau par un objet Graphics (avec chaque objet Square ayant un objet Rectangle qui définit ses limites). Récemment, j'ai ajouté une méthode pour dessiner des lignes sur certains des carrés pour accentuation. Le problème est: je dois pouvoir "effacer" ces lignes et il me semble que le seul moyen d'effacer une ligne est de redessiner les cases "affectées" par la ligne.Comment déterminer si une ligne traverse un rectangle
Je veux demander, en supposant qu'une ligne commence à PointA (x, y) et s'arrête à PointB (x, y), comment puis-je déterminer les carrés sur le panneau à redessiner? Est-il préférable de résoudre chaque ligne en une série de points puis de vérifier quel Square.Rectangle contient l'un des points? Si oui, comment je fais ça?
vous avez déjà les coordonnées des carrés stockées quelque part? –
Copie possible de [Comment savoir si une ligne croise un rectangle] (https://stackoverflow.com/questions/5514366/how-to-know-if-a-line-intersects-a-rectangle) –
Non C# mais https://www.openprocessing.org/sketch/454672 – PrincePolka