In de roos

advertisement
In de roos
onderdeel a
Schrijf een programma dat de volgende roos tekent.
onderdeel b
Schrijf een routine die n keer op de roos schiet. Er schot is een cirkel met een kleine straal r.
onderdeel c
Om geen onduidelijke situaties te krijgen willen we er voor zorgen dat een raak schot altijd
helemaal binnen 1 van de 5 gebieden valt. Liefst zelfs een klein stukje van de randen.
Pas je routine zo aan dat er eerst gecontroleerd wordt of het schot duidelijk binnen een gebied
valt. Als dat niet zo is wordt opnieuw geschoten totdat er een duidelijk schot was.
onderdeel d
Laat de routine meteen de totaalscore bereken.
Hint:
Hoe bepaal je de afstand tussen twee punten?
Van de twee punten moet je de coördinaten weten (a,b) en (c,d).
De afstand r bereken je dan met de Stelling van Pythagoras:
r  (c  a ) 2  ( d  b ) 2
Hoe kun je bepalen of een schot (de kleine cirkel) binnen een grote cirkel ligt?
C is de grote cirkel. c is de kleine cirkel
R is de straal van de grote cirkel C. d is de afstand van het middelpunt van de kleine cirkel c
tot het middelpunt van de grote cirkel C. r is de straal van de kleine cirkel c.
Als d+r<R ligt de kleine cirkel binnen de grote. Je kunt zelfs afdwingen dat de kleine cirkel a
pixels van de rand C ligt: d+r+a<R.
Zo kun je ook bepalen of c buiten C ligt: d-r>R (of met een extra rand d-r-a>R).
Hoe bepaal je de afstand van een cirkel tot een verticale lijn?
Om de afstand te kunnen bepalen heb je de vergelijking van de lijn nodig (bv. x=3) en de
straal r en de coördinaten (xc,yc) van het middelpunt van de cirkel.
De afstand van de cirkel tot de lijn is dan xc-r-x
Bij een horizontale lijn gaat het analoog. De vergelijking van de lijn is dan bv. y=6.
De afstand van de cirkel tot de lijn is dan yc-r-y
Download