Étape 2: Un peu de théorie.
Au lieu de considérer une horloge comme un ensemble de mains en mouvement, il faut l’imaginer comme un ensemble de cercles concentriques. Une main est alors une ligne tracée entre le centre et un point sur l’un de ces cercles.
Un coup de main sera toujours à un certain angle à son point de départ (horloge de 12 o).
Si l'on ajoute un système de coordonnées Cartegian (vous savez, le X axe et axe des Y - truc) et nous mettons au centre du cercle à l’origine (0,0), alors nous pouvons créer un triangle rectangle. Le célèbre collègue grec, M. Pythagoras, nous a dit que nous pouvons déterminer la longueur de l’hypoténuse d’un triangle rectangle avec l’équation suivante :
a2 + b2 = c2
Comme l’hypoténuse se trouve être notre rayon et le centre du cercle est également à l’origine du système de coordonnées, nous pouvons déclarer ce qui suit :
R2 = X2 + Y2
Nous savons R comme c’est le rayon de notre cercle. Donc il doit y avoir un moyen de calculer X et Y. La seule chose dont nous avons besoin pour cela est certains trigonométrie.
J’ai certains d'entre vous entendais gémir lorsqu’il entend la trigonométrie de mot. Mais la confiance en moi ce n’est pas aussi difficile que cela puisse paraître.
Peut-être vous rappelez-vous le mnémonique SOHCAHTOA de vos classes de mathématiques à l’école. Si vous vous souvenez aussi de ce que cela signifie, alors vous savez tous ce que vous devez savoir pour cela. Si ce n’est pas le cas, alors je vais l’expliquer ici.
SOHCAHTOA est synonyme de :
Sinus = opposé / hypoténuse
Cosinus = Adjacent/hypoténuse
Tangens = opposé / Adjacent
Pour l’instant nous pouvons oublier le tangens car il ne faut pas que.
Nous savons que l’hypoténuse est le même que notre rayon, donc nous pouvons échanger ceux. La seule chose que nous avons besoin maintenant est un angle pour travailler avec. Savons-nous un ? Oui, en fait, nous pouvons calculer toutes les trois si nous aimerions.
Nous savons avec certitude que l’un d'entre eux est 90degr. Comme c’est un triangle rectangle, mais nous ne pouvons pas utiliser celui-là. Mais, comme je l’ai dit au début, un coup de main sera toujours à un certain angle, c' est regarder point et nous pouvons facilement calculer cet angle.
angle = mesures prises * 360 (cercle plein) / max quantité d’étapes
Alors dans le cas des secondes et minutes mains ce sera :
angle = mn (ou secs) * 360 / 60 ou angle = mn (ou secs) * 6
Dans le cas des heures, ce sera :
angle = heures * 360 / 12 ou angle = heures * 30
Cet angle est la dernière chose que nous avions besoin pour calculer X et Y. (si vous voulez calculer l’angle 3ème juste 180 moins les deux savons angles et vous avez le 3ème).
Permet de tout rassembler maintenant et pourvoir à ce que nous savons deja :
angle de Sin = opposé / rayon
COS angle = adjacent/rayon
Comme le sommet de l’angle est identique à l’origine du repère :
angle de Sin = y/rayon
COS angle = x / rayon
ou
x = rayon * cos angle
y = rayon * angle de péché
Mais que se passe-t-il si le sommet de l’angle n’est pas situé à l’origine ? Nous devons prendre les coordonnées de ce point dans l’équation.
x = un + rayon * cos angle
y = b + rayon * angle de péché
Alors maintenant, nous savons les coordonnées du point de terminaison de notre main !
Eh bien... Euhh... pas tout à fait encore... il y a un léger problème :
Si vous devez écrire un code avec ces équations, vous obtiendriez une horloge qui commence à 3 o heure et fonctionne dans le sens antihoraire. C’est parce que nos calculs angulaires sont en relation avec l’axe des abscisses et ceux que nous avons besoin pour l’horloge devrait être par rapport à l’axe des ordonnées. Luckely avec un peu de magie mathématique, ce problème est résolu très rapidement :
x = un + rayon * angle de péché
y = b - rayon * cos angle
Ce qui s’est passé ici, c’est que nous avons troqué la relation à l’axe en inversant les sin et cos et nous avons changé le sens de dans le sens inverse aux aiguilles d’une montre en changeant + à-.
C’était la théorie, dans les prochaines étapes nous qui allons mettre en pratique.