SHOW:
|
|
- or go back to the newest paste.
1 | #!/usr/bin/python | |
2 | # -*- coding: utf-8 -*- | |
3 | from math import* | |
4 | from turtle import* | |
5 | ||
6 | def calcule_coefficient_cote(k): | |
7 | C = (1 - sqrt(5)) / 4 | |
8 | return sqrt(2*(k**2)*(1+C)-2*k*C + 1) | |
9 | ||
10 | def calcule_angle(k, k_prime): | |
11 | - | return (k_prime**2 - 2 * k + 1) / (2 * k_prime * (1 - k)) |
11 | + | return 180/pi * acos(k_prime**2 - 2 * k + 1) / (2 * k_prime * (1 - k)) |
12 | ||
13 | def pentagone(cote): | |
14 | for n in range(5): | |
15 | forward(cote) | |
16 | left(72) | |
17 | ||
18 | def spirale(nombre_triangles, a, k): | |
19 | k_prime = calcule_coefficient_cote(k) | |
20 | angle = calcule_angle(k, k_prime) | |
21 | for i in range(nombre_triangles): | |
22 | pentagone(x) | |
23 | forward(x * k) | |
24 | left(angle) | |
25 | a = a * k_prime | |
26 | ||
27 | Speed=int(input("Quelle vitesse souhaitez-vous ? :")) | |
28 | Longueur=int(input("Quelle longueur souhaites-vous entrer ? :")) | |
29 | Nbr=int(input("Combien de répétitions souhaitez-vous avoir ? :")) | |
30 | k=float(input("Quel coefficient de rétrécissement par itération voulez vous avoir (entre 1 et 0 exclus) ? :")) | |
31 | ||
32 | speed(Speed) | |
33 | up() | |
34 | goto(-190,0) | |
35 | down() | |
36 | spirale(Nbr,Longueur, k, k_prime, angle) | |
37 | up() |