Stap 10: Stelling van Pythagoras
Wat Pythagoras heeft te maken met python en framboos?
Eenvoudig, stel dat we moeten controleren als de binnenkant van de cirkel is geklikt, hoe verder te gaan?
Nou, allereerst moeten we de positie van de klik. We weten al van de laatste stap hoe je dit.
Ook het midden van de cirkel die we al hebben, zoals wij het bij het opstellen.
We moeten dan, alleen om te weten als de vorm van de afstand het punt naar het midden van de cirkel geklikt kleiner is of gelijk aan de straal van de cirkel.
Zie de afbeelding hierboven. Het groene punt vertegenwoordigt de Klik buiten de cirkel. Wij kunnen zien dat de afstand tussen het middelpunt van de cirkel en het punt waarop u hebt geklikt is groter dan de straal van de cirkel. De blauwe punt, echter, is binnen de cirkel en we kunnen zien dat de afstand tot het midden van de cirkel kleiner dan de straal is.
Uit de Pythagoras van stelling, is bekend dat het kwadraat van de grootste zijde van een rechthoekige driehoek gelijk aan de som van de kwadraten van de twee kleinere partijen is. Dus, als u wilt berekenen van de grootste kant, we doen een eenvoudige bediening, met geven ons de de grootste zijde van de rechthoekige driehoek is de vierkantswortel van de som van de kwadraten van de twee kleinere partijen (verwarrend? Zie de afbeelding hierboven).
Vervolgens krijgen we dat de afstand van het midden van de cirkel is:
afstand = vierkante root((x-xcenter)^2+(y-ycenter)^2)
Waarbij x en y zijn de coördinaten van punten hebt geklikt, en xcenter een ycenter zijn de coördinaten van het middelpunt van de cirkel. Deze afstand moet kleiner zijn dan de straal van de cirkel als de binnenkant van de cirkel is geklikt.
Blok van code in Python:
sudo python3 nameofthescript.py
De methode math.sqrt doet de vierkantswortel van het argument, dat de som van de kwadraten is.
-mpos [0] en mpos [1] zijn de muisklik coördinaten.
-240 en 80 zijn de coördinaten van het middelpunt van de cirkel.
Math.Pow(x,n) doet x ^ n, het plein in dit geval.