C'est facile : trouvez les intersections entre le rectangle et les bords du polygone simple et coupez les segments à cet endroit. Cela ne nécessite pas de structure de recherche spatiale, car les 4 arêtes du polygone sont un facteur constant, de sorte que cela s'exécute en temps linéaire.
Il calcule ensuite une triangulation de Delaunay contrainte de tous les segments et utilise des points d'amorçage pour développer les régions. Combinez les régions de manière appropriée (les triangles à l'intérieur du polygone simple moins ceux à l'intérieur du rectangle moins les triangles à l'extérieur. Les triangles restants sont votre résultat et les bords de la bordure sont les bords du polygone résultant.
Edit : Je suis désolé si la réponse était trop courte. La figure ci-dessous illustre l'idée.
a) Les deux polygones d'entrée
b) Le CDT après insertion des segments (coupés)
c) Les régions cultivées
d) La région verte moins la région rouge
e) Les bords de la région d.