IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Town Ground

Angles, de la théorie à la pratique

Noter ce billet
par , 08/12/2020 à 03h30 (831 Affichages)
J'ai vu sur YouTube ce petit exposé sur les "angles réformés", et aussitôt j'ai été ébahi car je savais que cela pouvait avoir une application pratique, ne pas être purement théorique.

Voici cette vidéo d'un mathématicien:



Et voici ce que j'en ai fait: (360 degrés = 2*pi radians et 180 degrés = pi radians)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# --*-- coding:utf-8 --*--#Polygones
#Par Town Ground (anciennement Igor Gorovitch)


print("""Ne fermez jamais la fenêtre graphique qui va s'ouvrir
Pour terminer ce programme fermez cette console texte ou
Entrez un caractère avant de taper [Enter] en fin de dessin.""")
print("")


from turtle import *
from math import pi
from math import sin
from math import cos


reponse=""
while reponse=="":
    
    rayon=input("""Rayon du cercle (maximum 300) ? """)
    rayon=int(rayon)
    
    #Centrage approximatif de la figure
    x=rayon
    y=0
    
    ep=input("Épaisseur de trait du polygone? ")
    ep=int(ep)
    ee=input("Épaisseur de trait de l'étoile? ")
    ee=int(ee)
    
    nc=input("""Nombre de côtés du polygone ? """)
    nc=int(nc)
    
    #Calcul de l'angle en radians
    anglep=2*pi/nc
    if nc<5:
        anglee=anglep
    else:
        na=nc
        if nc%4>0:
            if nc%2==0:
                na=nc/2
            elif nc%2>0:
                na=nc*2
        anglee=((2*pi)+(pi*(na-4)))/na


    
    reset()
    color("blue")
    a=0
    up()
    goto(x,y)
    down()
    width(ep)
    left(90)
    compteur=int(0)
    while compteur<nc:
        compteur=compteur+1
        a=compteur*anglep
        x=cos(a)*rayon
        y=sin(a)*rayon
        goto(x,y)
    color("red")
    a=0
    up()
    goto(rayon,0)
    down()
    width(ee)
    compteur=int(0)
    while compteur<nc:
        compteur=compteur+1
        a=compteur*anglee
        x=cos(a)*rayon
        y=sin(a)*rayon
        goto(x,y)
        
    reponse=input("""Tapez [Enter] pour recommencer.""")
Avec l'angle réformé appliqué pour les "étoiles" à la ligne 46.

Ce qui donne ce programme sous Python: polygone_etoile_1-0.py

Ou en version tkinter: polygone_etoile_2-0.py

Un petit utilitaire sympa donnant par exemple ce genre de formes graphiques:

Nom : 2020-12-08_02h08_24.png
Affichages : 129
Taille : 17,4 Ko

Ou dans sa version tkinter:

Nom : 2020-12-08_03h53_46.png
Affichages : 121
Taille : 17,0 Ko

J'espère que l'inventeur de cette notion d'angles réformés qu'il explique dans sa vidéo sera content de savoir qu'il existe réellement de bonnes applications en géométrie de ce concept.

Envoyer le billet « Angles, de la théorie à la pratique » dans le blog Viadeo Envoyer le billet « Angles, de la théorie à la pratique » dans le blog Twitter Envoyer le billet « Angles, de la théorie à la pratique » dans le blog Google Envoyer le billet « Angles, de la théorie à la pratique » dans le blog Facebook Envoyer le billet « Angles, de la théorie à la pratique » dans le blog Digg Envoyer le billet « Angles, de la théorie à la pratique » dans le blog Delicious Envoyer le billet « Angles, de la théorie à la pratique » dans le blog MySpace Envoyer le billet « Angles, de la théorie à la pratique » dans le blog Yahoo

Mis à jour 08/12/2020 à 04h58 par Town Ground

Catégories
Programmation , Python , 2D / 3D / Jeux

Commentaires