IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Besoin d'aide pour un projet d'art numérique sur Python avec la bibliothèque p5


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen en spécialité NSI
    Inscrit en
    Février 2023
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Lycéen en spécialité NSI

    Informations forums :
    Inscription : Février 2023
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Besoin d'aide pour un projet d'art numérique sur Python avec la bibliothèque p5
    Bonjour !
    Je vous contacte car je suis en spécialité NSI et nous avons à faire un projet d'art numérique.
    Au départ, le but est de faire ceci :
    Nom : téléchargé.png
Affichages : 72
Taille : 58,1 Ko

    J'ai donc bien avancé sur le programme mais je suis bloqué à la presque fin.
    En fait, j'aurais voulu, sur le modèle de l'image, ajouter une fonctionnalité lorsque j'appelle la fonction qui permettrai de change la couleur des cercles.
    J'ai déjà réussi pour tous les cercles (je n'ai pas vraiment compris pourquoi..) mais j'aurai voulu aussi change la couleur des cercles du haut (ceux en haut).
    Pourriez-vous m'aider ?

    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
    from random import randint
    from p5 import *
     
     
    def setup(): 
        createCanvas(600, 600)
        background(0,0,0)
        frameRate(5) 
     
     
    tab1=[]
    tab2=[]
     
    def points(r1,r2,r3,r4,couleur1,couleur2):
        t1=[r1,r1,r1,r1,r1,r1,r1,r1,r1,r1,r1,r2,r3,r4,r3,r2,r1,r1,r1,r1,r1,r1,r1,r1,r1,r1,r1]
        t2=[(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(re,gree,blu),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2),(red2,green2,blue2)]
        return t1,t2
     
    def dessin(t1,t2):
        background(0,0,0)
        a=20
        for x in range(15):
            x=randint(-460,20)
            for i in range(27):
                color=t2[i]
                for c in range(14):
                    fill(re,blu,gree)
                for c2 in range(13):
                    fill(red2,green2,blue2)
                circle(a,x+40*i,t1[i])
            a=a+40
     
    r1=int(input("Entrez le diamètre des plus gros cercles (normal=40) ->"))    
    r2=int(input("Entrez le diamètre des deuxièmes plus gros cercles (normal=30) ->")) 
    r3=int(input("Entrez le diamètre des troisièmes plus gros cercles (normal=20) ->")) 
    r4=int(input("Entrez le diamètre des plus petits cercles (normal=10) ->")) 
    re=str(input("Entrez la teinte de ROUGE des cercles les plus hauts ->"))
    gree=str(input("Entrez la teinte de VERT des cercles les plus hauts ->"))
    blu=str(input("Entrez la teinte de BLEU des cercles les plus hauts ->"))
    red2=str(input("Entrez la teinte de ROUGE des cercles les plus bas ->"))
    green2=str(input("Entrez la teinte de VERT des cercles les plus bas ->"))
    blue2=str(input("Entrez la teinte de BLEU des cercles les plus bas ->"))
     
     
     
    def draw():
        tab1=points(r1,r2,r3,r4,(re,gree,blu),(red2,green2,blue2))[0]
        tab2=points(r1,r2,r3,r4,(re,gree,blu),(red2,green2,blue2))[1]
        dessin(tab1,tab2)
     
    run()
    J'aurai aussi voulu si possible, ajouter une fonctionnalité qui permettrai d'animer ou non l'image.
    J'espère que vous saurez m'aiguiller !

    Merci d'avance : )

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Tout d'abord les remarques générales: tab1=[]et tab2=[] sont inutiles vu que tu ne les réutilises pas. Or créer une variable pour rien dénote un certain manque de conception. En plus avec ton code qui tantôt fait des actions, puis tantôt définit des fonctions on a vraiment l'impression que tu avances au pif et ça c'est pas rassurant.
    De même str(input(...)) est inutile vu que input() retourne déjà une chaine.

    Citation Envoyé par timeo.jx Voir le message
    En fait, j'aurais voulu, sur le modèle de l'image, ajouter une fonctionnalité lorsque j'appelle la fonction qui permettrai de change la couleur des cercles.
    Je ne connais pas p5 mais de façon générale, changer un dessin consiste à
    • effacer le premier dessin
    • afficher le nouveau

    Donc à moins que la lib p5 ne propose une méthode permettant de changer la couleur d'un objet (et dans ce cas il te faut alors mémoriser tous les cercles créés pour leur appliquer cette méthode) tu es obligé d'en passer par là.

    Citation Envoyé par timeo.jx Voir le message
    J'ai déjà réussi pour tous les cercles (je n'ai pas vraiment compris pourquoi..) mais j'aurai voulu aussi change la couleur des cercles du haut (ceux en haut).
    Bizarre cette question. Si tu as réussi à changer la couleur de tous les cercles alors ceux d'en haut ont été aussi changés (définition de "tous" => qui exprime la totalité).

    Citation Envoyé par timeo.jx Voir le message
    J'aurai aussi voulu si possible, ajouter une fonctionnalité qui permettrai d'animer ou non l'image.
    Même principe que pour le changement de couleur. Animer une image c'est effacer l'image actuelle pour en afficher une nouvelle (principe du cinéma).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Besoin d'aide pour un projet graphique de concentration
    Par chacha2007 dans le forum LabVIEW
    Réponses: 0
    Dernier message: 21/11/2007, 20h18
  2. besoin d'aide pour un projet en C
    Par chahine59 dans le forum C
    Réponses: 8
    Dernier message: 05/01/2007, 23h23
  3. Besoin d'aide pour un projet en vb6
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/01/2006, 05h25
  4. Besoin d'aide pour un projet
    Par ZiMo dans le forum Linux
    Réponses: 9
    Dernier message: 24/10/2005, 00h28
  5. Besoin d'aide pour un projet de jeu en ligne
    Par FLEO dans le forum Projets
    Réponses: 1
    Dernier message: 21/10/2005, 08h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo