Opérations booléennes
Pour les besoins d'un projet dans Processing, nous avons eu besoin de réaliser des opérations booléennes sur des formes vectorielles. Pas si simple ! Ci-dessous, quelques liens intéressants.
Mais il n'a finalement pas été nécessaire d'écrire l'algo, la librairie geomerative est venu à la rescousse.
Pour fusionner des formes: RShape union(RShape p)
ou RPolygon union(RPolygon p)
Pour garder l'intersection des formes: RShape xor(RShape p)
ou RPolygon xor(RPolygon p)
Pour soustraire des formes: RShape diff(RShape p)
ou RPolygon diff(RPolygon p)
RPolygon garde la triangulation. Pour ne garder que les contours de la forme, il faut convertir le RPolygon
en RShape
: RPolygon.toShape()
Quelques liens
https://fr.wikipedia.org/wiki/Op%C3%A9rations_bool%C3%A9ennes_sur_les_polygones
http://www.lighti.de/projects/polygon-clipper-for-java/
https://rawgit.com/voidqk/polybooljs/master/dist/demo.html
https://github.com/w8r/martinez
https://sourceforge.net/projects/jsclipper/?source=recommended