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
|
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 16:55:11 2020
@author: julnar
Nombres premiers(NP) en coordonées polaire
x,y = module, angle le même NP
une fonction est appliquée sur les angles
"""
import matplotlib.pyplot as plt
import numpy as np
#
def plot_polaire2(titre, theta, r, xt, yt, grid=True):
""""Affiche r et theta en coordonnées polaires
theta = liste des angles
r = modules
"""
# Taille de la figure figsize
fig = plt.Figure()
fig.add_subplot(111, projection='polar')
fig.set_size_inches(14, 10, forward=True)
#
# Graphe en coordonnées polaires
FIN = len(r)
plt.subplot(projection='polar')
for i in range(0, FIN):
plt.plot(r[i], theta[i],'r.')
plt.pause(0.01)
plt.title(titre, fontsize=16)
#Affiche les echelles s'il y en a
plt.xticks(xt)
plt.yticks(yt)
#
plt.grid(grid)
#
#
# LIste des NP
R=[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59,
61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127,
131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193,
197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269,
271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349,
353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431,
433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
509, 521, 523, 541]
ANGLES=[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59,
61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127,
131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193,
197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269,
271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349,
353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431,
433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
509, 521, 523, 541]
#
TITRE = 'NP en polaire'
xt = np.arange(0, 2.0*np.pi, np.pi/6)
yt = np.arange(0, 4, 1)
#
# Theta = NP modulo de Z = 2 au 100 ieme NP
DEB = 0
FIN = 1
for K in range(DEB, FIN):
Z = R[K] #argument de la fonction Lambda
TITRE = 'NP en polaire θ = NP mod '+str(Z)
#Applique une fonction sur les angles
F = lambda liste:[i%Z for i in liste]
THETA = F(R) # Liste des angles
#Appel de la fonction d'affichage en coord polaires
plot_polaire2(TITRE, THETA, R, xt, yt, grid=True)
#
plt.show() # ici sinon trop de figures ouvertes en même temps |
Partager