De $$(x,y)$$ coördinaten van een reeks punten in het vlak worden opgeslagen in 2 NumPy-rijen, namelijk een rij x voor de $$x$$-coördinaat en een rij y voor de $$y$$-coördinaat. We zoeken het aantal punten dat in de open ring met binnenstraal $$r_1$$ en buitenstraal $$r_2$$ ligt. Een punt met coördinaat $$(x,y)$$ ligt in deze open ring, indien geldt:

$$ r_1 \lt \sqrt{x^2+y^2} \lt r_2 $$

We wensen een functie te schrijven die dit aantal berekent, en waarbij de functie gevectoriseerd is. Ze moet dus ook werken in het geval de argumenten x en y beiden reële getallen voorstellen (en waarbij het resultaat dan uiteraard $$0$$ of $$1$$ is).

Schrijf een functie openRing() met volgende vier argumenten:

Het resultaat is een positief geheel getal dat aangeeft hoeveel van de opgegeven punten in de open ring liggen.

Voorbeeld

openRing(np.array([0.0, 1.0, 2.0, 3.0]), np.array([0.0, -1.0, 2.0, -3.0]), 1.0, 3.0) = 2
openRing(2.0, 2.0, 1.0, 3.0) = 1