Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen Newsgroups: fr.sci.maths Subject: =?UTF-8?Q?Re:_Python=2c_Turtle_et_=c3=a9toiles...?= Date: Thu, 21 Jul 2022 00:23:07 +0200 Organization: There's no cabale Lines: 30 Message-ID: References: NNTP-Posting-Host: 220.12.205.77.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1658355787 12119 77.205.12.220 (20 Jul 2022 22:23:07 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Wed, 20 Jul 2022 22:23:07 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 In-Reply-To: Bytes: 2428 Le 21/07/2022 00:01, je répondais à Dominique : > > Mais on peut faire mieux, et savoir au bout de combien d'itérations on > revient au point de départ pour la première fois. Soit (p/q)×360° l'angle > choisi. Si p et q sont premiers entre eux, alors il faudra exactement q > itérations pour que l'angle soit p×360°, soit 0° modulo 360°. > > Par ailleurs, pour qu'une rotation « à droite » ne se transforme pas en > rotation à gauche, il suffit de choisir p et q de sorte que 0 < p < q/2. > > Enfin, si tu veux des polygones étoilés et pas de bêtes polygones > convexes, il suffit de choisir p > 1, donc 2 ≤ p < q/2. Cette formule peut aussi être utilisée pour choisir l'angle en fonction du nombre d'itérations voulu. Déjà cela impose que q ≥ 5, parce que sinon il est impossible d'avoir 2 ≤ p < q/2 lorsque q/2 ≤ 2. > Reprenons tes exemples. Ta rotation à droite de 216°, c'est (3/5)×360° (ou > (2/5)×360° si tu choisis l'angle le plus petit). Il faut donc 5 itérations. > Quant à ta rotation de 198°, c'est (11/20)×360° ou (9/20)×360°, donc 20 > itérations. Avec q=5, le seul p vérifiant 2 ≤ p < 2,5 est p=2. Dans le second cas, q=20, les nombres p vérifiant 2 ≤ p < 10 sont les entiers de 2 à 9. Parmi ceux-ci, les seuls à être premiers avec 20 sont 3, 7 et 9. Ton exemple était avec p=9, mais tu peux aussi essayer p=3 et p=7. -- Olivier Miakinen