Probar si el punto está en algún rectángulo

Tengo una gran colección de rectángulos, todos del mismo tamaño. Estoy generando puntos aleatorios que no deberían caer en estos rectángulos, por lo que lo que quiero hacer es probar si el punto generado se encuentra en uno de los rectángulos y, si lo hace, generar un nuevo punto.

El uso de los árboles R parece funcionar, pero en realidad están destinados a rectángulos y no a puntos. Podría usar una versión modificada de un algoritmo R-tree que también funcione con puntos, pero preferiría no reinventar la rueda, si ya existe una solución mejor. No estoy muy familiarizado con las estructuras de datos, ¿entonces tal vez ya exista alguna estructura que funcione para mi problema?

En resumen, básicamente lo que pregunto es si alguien sabe de un buen algoritmo, que funcione en Python, que pueda usarse para verificar si un punto se encuentra en algún rectángulo en un conjunto dado de rectángulos.

editar: Esto está en 2D y los rectángulos no están girados.

Respuestas a la pregunta(5)

Su respuesta a la pregunta