Compter la quantité de triangles dans une image est une tâche couramment utilisée dans les tests cérébraux. Vous obtenez une image contenant des formes composées de triangles. Vous devez ensuite trouver tous les triangles possibles dans l'image.
Tâche
Vous obtenez une liste de lignes dans un format de votre choix. Vous devez ensuite sortir une liste de triangles trouvés dans ce
Contribution
Vous obtenez une liste de lignes, chacune étant donnée par quatre coordonnées entières (par exemple. x1 y1 x2 y2
). Vous pouvez choisir le format d'entrée, tant qu'il est clairement documenté. Exemples:
0 4 8 1
0 4 9 5
8 1 9 5
2 8 0 4
9 5 2 8
[[0, 4, 8, 1], [0, 4, 9, 5], [8, 1, 9, 5], [2, 8, 0, 4], [9, 5, 2, 8]]
Voici la même entrée qu'une image:
Un autre, avec des intersections (seulement dans un format pour économiser de l'espace):
[[2, 1, 5, 0], [2, 1, 2, 7], [5, 0, 6, 6], [5, 0, 2, 7], [6, 6, 2, 1], [2, 7, 6, 6]]
Production
Vous devez produire une liste de tous les triangles, chacun étant donné par six coordonnées à virgule flottante (par exemple. x1 y1 x2 y2 x3 y3
), Dans l'image spécifiée par l'entrée. Il peut ne pas s'agir d'entiers, car les lignes peuvent se croiser à tout moment. Vous pouvez choisir le format de sortie, tant qu'il est clairement documenté. Exemples de sorties pour les exemples d'entrées ci-dessus:
0 4 8 1 9 5
0 4 9 5 2 8
[[0, 4, 8, 3, 9, 5], [0, 4, 9, 5, 2, 8]]
[[2, 1, 5, 0, 2, 7], [2, 1, 5, 0, 6, 6], [5, 0, 6, 6, 2, 7], [2, 1, 6, 6, 2, 7], [2, 1, 5, 0, 3.674, 3.093], [5, 0, 6, 6, 3.674, 3.093], [6, 6, 2, 7, 3.674, 3.093], [2, 7, 2, 1, 3.674, 3.093]]
Vous pouvez supposer que
il n'y a pas de cas où une ligne traverse une intersection mais pas de lignes, comme
[[0, 9, 1, 8], [1, 8, 2, 9], [2, 9, 3, 8], [3, 8, 4, 9], [4, 9, 0, 9]]
il n'y a pas d'angles supérieurs à 179 degrés, comme
[[0, 0, 0, 1], [0, 1, 0, 2], [0, 2, 0, 0]]
Règles
- Vous pouvez utiliser la langue de votre choix.
- Aucune ressource externe ne doit être utilisée.
- Des échappatoires standard s'appliquent.
Notation
Il s'agit de code-golf , donc la réponse la plus courte en octets l' emporte.
[0,0],[1,0],[2,0],[1,2]
Un "quadrilatère" avec un angle de 180 degrés. Pas de triangles ou 1 triangle?
[0,9],[1,8],[2,9],[3,8],[4,9]
est en fait un W avec une ligne tracée en haut. N'est-ce pas des triangles ou 2 triangles?