Je sais , c'est brouillon mais c'est juste pour tester que la conversion rosace se fait sans accroc dans les deux sens .
1°) La seconde liste "Roue" c'est pour émuler les code que me renverra la roue encodée Gray
2°) j'avais trouvé cette solution pour afficher les 0 à gauche , mais c'est vrai qu'avec
c'est plus propre .
pour donner un nombre de pas dans un sens et l'autre .
c'est pour m'éviter de sortir de la liste Rosace .
je te l'accorde , j'ai pas fait simple .
Je me suis amusé à ajouter des valeur au tableau .
La encore des listes à n'en plus finir ...
... pas taper !!!
J'ai prévu des roses_des_vents pour du 16 et 32 points cardinaux et donc les roue_code qui vont avec .
Le 16 points devrait tenir dans un tube de un peu moins de 4cm de diamètre (35,65mm = 16 x 7mm / pi)
Le 32 points devrait tenir dans un tube de un peu moins de 8cm de diamètre (71,30mm = 32 x 7mm / pi)
En fonction de ce que je trouverais comme tuyau de récup .
Les roulements , c'est des soldes sur des accessoires planches à roulettes (D_ext=22mm et D_in= 8mm env - pour de la tige fileté de 8mm maxi).
Code : Tout sélectionner
rose_des_vents32 = ((' N ', ' 0.00', 'Tramontane') ,\
(' N ', ' 11.25', 'Vent droit') ,\
(' NE', ' 33.75', 'Brise noire') ,\
('NNE', ' 22.50', 'Montagnère') ,\
(' E', ' 78.75', 'Auro-bruno') ,\
('ENE', ' 67.50', 'Levant grégale') ,\
(' NE', ' 45.00', 'Gregale') ,\
(' NE', ' 56.25', 'Lombarde') ,\
(' S ', '168.75', 'Embat') ,\
('SSE', '157.50', 'Simoun') ,\
(' SE', '135.00', 'Autan') ,\
(' SE', '146.25', 'Sirocco') ,\
(' E', ' 90.00', 'Levant') ,\
(' E', '101.25', 'Auro-rosso') ,\
(' SE', '123.75', 'Levèche') ,\
('ESE', '112.50', 'Vent blanc') ,\
(' N ', '348.75', 'Auro-drecho') ,\
('NNO', '337.50', 'Brise') ,\
('NO ', '315,00', 'Mistral') ,\
('NO ', '326.25', 'Traverse haute') ,\
('O ', '270.00', 'Ponent') ,\
('O ', '281.25', 'Traverse') ,\
('NO ', '303.75', 'Galerne') ,\
('ONO', '292.50', 'Maestro') ,\
(' S ', '180,00', 'Marin') ,\
(' S ', '191.25', 'Vent de bas') ,\
('SO ', '213.75', 'Vent du large') ,\
('SSO', '202.50', 'Chili') ,\
('O ', '258.75', 'Cierco') ,\
('OSO', '247.50', 'Garbi') ,\
('SO ', '225,00', 'Labech') ,\
('SO ', '236,25', 'Libeccio') )
rose_des_vents16 = ((' N ', ' 0.00', 'Tramontane') ,\
('NNE', ' 22.50', 'Montagnère') ,\
('ENE', ' 67.50', 'Levant grégale') ,\
(' NE', ' 45.00', 'Gregale') ,\
('SSE', '157.50', 'Simoun') ,\
(' SE', '135.00', 'Autan') ,\
(' E', ' 90.00', 'Levant') ,\
('ESE', '112.50', 'Vent blanc') ,\
('NNO', '337.50', 'Brise') ,\
('NO ', '315,00', 'Mistral') ,\
('O ', '270.00', 'Ponent') ,\
('ONO', '292.50', 'Maestro') ,\
(' S ', '180,00', 'Marin') ,\
('SSO', '202.50', 'Chili') ,\
('OSO', '247.50', 'Garbi') ,\
('SO ', '225,00', 'Labech') )
roue_codes32 = ( 0, 1, 3, 2, 6, 7, 5, 4 ,\
12, 13, 15, 14, 10, 11, 9, 8 ,\
24, 25, 27, 26, 30, 31, 29, 28 ,\
20, 21, 23, 22, 18, 19, 17, 16 )
roue_codes16 = ( 0, 1, 3, 2, 6, 7, 5, 4 ,\
12, 13, 15, 14, 10, 11, 9, 8 )
def Test_rose_des_vents (rose, roue):
l = len(rose)
n = 0
print (" g , bin_r , azimut , -----> , vent")
while n <= l :
g = roue [n % l]
bin_r = bin(g)[2:].rjust(5,'0') # binaire justifié à droite
valeurs = rose[g]
direction = valeurs[0]
azimut = valeurs[1]
vent = valeurs[2]
print ("%2i , %s , %6s , %6s , %s°"\
% (g, bin_r, azimut, direction, vent ))
n += 1 # tourne sens horaire
n -= 1
# Rose des vents 16
#--------------------
rose = rose_des_vents16
roue = roue_codes16
print ("Rose des vents 16 points")
Test_rose_des_vents (rose, roue)
# Rose des vents 32
#--------------------
rose = rose_des_vents32
roue = roue_codes32
print ("Rose des vents 32 points")
Test_rose_des_vents (rose, roue)
C'est que du code test , pour le moment , afin de vérifier les listes .
Il y a certainement moyen d'utiliser que la liste 32 points pour faire du 16 points , mais là c'est le cerveau qui fume et pas envie de compliquer le code .
PS ; ce coup-ci , j'ai juste fait un tour complet Nord à Nord .
PS2: peut-être devrais-je ouvrir un autre sujet pour traiter la construction et faire le lien avec celui-ci pour expliquer le codage des roues .