Comment DemiSemi calcule ton score

La formule du lacet pour l’aire, l’algorithme de Sutherland–Hodgman pour la coupe, une dichotomie pour la coupe parfaite : tout le calcul, expliqué simplement.

Mesurer une aire : la formule du lacet

Chaque forme de DemiSemi est un polygone : une liste de points reliés dans l’ordre (les courbes sont faites de nombreux petits segments). Pour mesurer son aire, on utilise la formule du lacet, décrite par Albrecht Meister en 1769 et popularisée par Carl Friedrich Gauss.

On parcourt les sommets dans l’ordre. Pour chaque côté, on multiplie l’abscisse du premier point par l’ordonnée du suivant, puis on retranche le produit inverse. La moitié de la somme donne l’aire. Le nom vient du dessin de ces produits croisés, qui ressemble à un laçage de chaussure.

Exemple avec le carré de sommets (0, 0), (2, 0), (2, 2) et (0, 2) : les quatre côtés donnent 0, 4, 4 et 0. La somme vaut 8, sa moitié 4 : le carré de côté 2 a bien une aire de 4.

Couper la forme

Ton trait définit une droite infinie, qui partage le plan en deux. Pour chaque contour de la forme, on ne garde que la partie située d’un côté de cette droite, grâce à l’algorithme de Sutherland–Hodgman, publié en 1974 pour l’affichage en images de synthèse.

On mesure cette partie avec la formule du lacet, on retire les trous, puis on divise par l’aire totale : c’est ta part A. La part B, c’est le reste.

Trouver la coupe parfaite avec ton angle

On cherche ensuite la droite parallèle à la tienne qui donne exactement 50/50, par dichotomie : on essaie une position au milieu des positions possibles, on regarde si la part obtenue est trop grosse ou trop petite, on garde la bonne moitié, et on recommence jusqu’à une précision d’un millionième.

La distance entre ta droite et celle-là s’affiche en unités. La zone de jeu mesure 1 000 unités de côté, et la forme en occupe environ les quatre cinquièmes.

Des parts aux points

Ton écart, c’est la distance entre ta part A et 50, en points de pourcentage. Il est calculé sur les parts affichées, arrondies au centième : tu ne verras jamais 50,00 / 50,00 sans obtenir le meilleur palier.

Jusqu’à 0,10 point d’écart : PILE, 100 points. Au-delà, tu perds 20 points par point d’écart : NET jusqu’à 0,50, PAS MAL jusqu’à 2, BANCAL jusqu’à 5. Au-delà de 5 points d’écart, c’est RATÉ et 0 point. Un écart de 1,25 rapporte par exemple 100 − 20 × 1,25 = 75 points.

Le serveur fait foi

Ton téléphone calcule tout pour animer la révélation sans attendre. Mais c’est le serveur qui refait le calcul à partir de ton trait, avec exactement le même code, et qui enregistre le résultat. Personne ne peut s’attribuer un score qu’il n’a pas obtenu, et seule ta première partie de chaque journée compte dans le classement.

Jouer

Tous les guides

Du même auteur : RicRac. Chaque jour, 7 questions. Arrête le compteur au plus près de la vraie valeur, sans jamais la dépasser.

Journées passées · Guides · Comment jouer · FAQ · À propos · Confidentialité · Mentions légales · Crédits · Jouer à RicRac · English