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 :

Quels outils pour créer un zone de recherche 2D ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 18
    Par défaut Quels outils pour créer un zone de recherche 2D ?
    Bonjour, je dois créer un programme en python, je suis vraiment débutant dedans et j'ai besoin de votre aide pour finaliser ce projet pour mes études.
    J'aimerais savoir comment ou avec quels outils je peux créer un zone de recherche (un gros carré plan de coordonnées (x,y)), car l'idée est de placer un objet(point) dans la zone et de le rechercher en parcourant la zone et en faisant des mesures toutes les secondes au fur et à mesure qu'on avance.
    Merci d'avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 744
    Par défaut
    Salut,

    Un tableau a 2 dimensions peut se fabriquer avec des listes de listes. Objets qui se marient bien avec boucles et conditions qui sont des constructions de base.

    Après on peut améliorer avec des bibliothèques spécialisées mais si vous ne savez pas programmer, maîtriser les objets et les constructions de bases est un pré-requis... et "apprendre" n'est pas quelque chose qu'on peut faire pour vous.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    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 835
    Billets dans le blog
    1
    Par défaut
    Bonjour

    D'après ta description, la librairie Pygame semble adaptée. Elle permet de dessiner des formes planaires et les faire se mouvoir en détectant les collisions.
    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]

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 744
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    D'après ta description, la librairie Pygame semble adaptée. Elle permet de dessiner des formes planaires et les faire se mouvoir en détectant les collisions.
    tkinter ou Qt seraient très bien aussi... mais comme on ne va pas coder à la place du PO, s'il n'a pas de temps à passer dans les tutos, c'est pas la peine.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 18
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    tkinter ou Qt seraient très bien aussi... mais comme on ne va pas coder à la place du PO, s'il n'a pas de temps à passer dans les tutos, c'est pas la peine.

    - W
    Merci je vais me renseigner sur tous les modules que vous m'avez conseillé

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 18
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    D'après ta description, la librairie Pygame semble adaptée. Elle permet de dessiner des formes planaires et les faire se mouvoir en détectant les collisions.
    Bonjour, merci pour ta réponse, j'avais déjà vu parler de pygame sur internet mais pour vous dire, je n'arrive même pas à installer le module sur mon python.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Zerlu Voir le message
    Bonjour, merci pour ta réponse, j'avais déjà vu parler de pygame sur internet mais pour vous dire, je n'arrive même pas à installer le module sur mon python.
    Ah mince, on est pas rendu ! ^^

    Ouvre la console de commande de windows (si t'es sous Windows) : Win+R + Tapes : cmd ,
    Tapes : pip install pygame ,

    Si ça ne marche pas, as-tu installé correctement python ?
    Nom : toel.jpg
Affichages : 469
Taille : 51,8 Ko

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 18
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Ah mince, on est pas rendu ! ^^

    Ouvre la console de commande de windows (si t'es sous Windows) : Win+R + Tapes : cmd ,
    Tapes : pip install pygame ,

    Si ça ne marche pas, as-tu installé correctement python ?
    Nom : toel.jpg
Affichages : 469
Taille : 51,8 Ko
    En fait je code sur spyder et j'ai déjà essayé d'installé pygame avec la commande Windows mais sans succès, du coup j'ai essayé de télécharger python comme indiqué sur la photo (j'ai téléchargé par contre la version 3.10) et l'interface n'est pas du tout la même que sur spyder : Nom : image 2.png
Affichages : 451
Taille : 28,1 Ko je sais pas si c'est normal

  9. #9
    Invité
    Invité(e)
    Par défaut
    Pas sûr d'avoir bien compris quand je vois les propositions des pros...
    Mais vu que j'ai tapé ces quelques lignes, je les poste quand même :
    Si tu dois chercher un point dans un carré dans une image :

    Nom : carre.png
Affichages : 300
Taille : 432 octets

    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
    import numpy as np
    from PIL import Image
    img = Image.open("carre.png")
    array = np.array(img)
     
    x,y = (94,91)               # Coordonnées du coin haut-gauche du carré
    h = 68                      # Hauteur du carré
    color = (237, 28, 36)       # Point rouge à trouver
     
    crop = array[y:y+h, x:x+h]   # Tableau 2D du carré vert uniquement (pas besoin de chercher dans le contour noir)
     
    for Y, line in enumerate(crop):
        for X, pixel in enumerate(line):
            if (pixel == color).all():
                print(f"Point rouge trouvé aux coordonnées : {(x+X,y+Y)}")
                crop[Y][X] = np.array((45,45,250)) # Point rouge devient bleu
     
    #Sauvegarder la nouvelle image
    im = Image.fromarray(array)
    im.save("carre2.png")
    Résultat :
    Nom : carre2.png
Affichages : 302
Taille : 403 octets

    Si c'est un jeu-vidéal avec un truc qui "avance" comme tu dis, il faudra procéder autrement en effet mais peut-être que numpy pourrait aider...

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 18
    Par défaut
    Merci pour ces quelques lignes je vais essayer d'avancer voir la ou je vais bloquer pour redemander de l'aide, sinon pour essayer de compléter un peu mon idée l'objectif serait d'avoir un résultat comme l'image ci dessous

    Nom : image.png
Affichages : 474
Taille : 19,1 Ko

  11. #11
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    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 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Pas sûr d'avoir bien compris quand je vois les propositions des pros...
    Faut arrêter ce complexe d'infériorité. Toute contribution apporte de la valeur. Surtout que tu joues souvent les comiques sur le forum mais je te soupçonne d'être moins idiot que ce que tu veux le laisser croire (j'ai vu certains de tes codes que tu as laissé échapper quand tu ne jouais justement pas les comiques)...
    Et puis en fait moi non plus j'ai pas super bien compris ce qu'il veut faire en réalité (en le lisant ça m'a fait penser à un vieux jeu du magazine "jeux et stratégies" où des chasseurs traquaient un monstre invisible sur un terrain 2D, et quand le monstre était blessé il laissait des traces de sang)...

    Citation Envoyé par Zerlu Voir le message
    Bonjour, merci pour ta réponse, j'avais déjà vu parler de pygame sur internet mais pour vous dire, je n'arrive même pas à installer le module sur mon python.
    Ok, déjà il faudrait que tu dises si t'es sous Linux ou Zindow mais généralement pip3 install pygame ça marche partout...

    Citation Envoyé par Zerlu Voir le message
    l'objectif serait d'avoir un résultat comme l'image ci dessous

    Nom : image.png
Affichages : 474
Taille : 19,1 Ko
    Ca ça me rappelle ton autre topic sur ce projet de recherche type ARVA...

    Sinon en cherchant à me familiariser avec Pygame j'ai trouvé Kivy. Au début je me suis dit "bof un Qt like de plus" sauf que j'ai trouvé ensuite cet article contenant différents exemples dont surtout un chapitre sur les déplacements et collisions.

    PS: je n'ai eu aucun souci à installer kivy...
    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]

  12. #12
    Invité
    Invité(e)
    Par défaut
    Merci @Sve@r mais je suis bien inférieur à vous, c'est un passe-temps pour moi... Je peux passer des mois sans rien coder.

    Sinon ton image m'a un peu fait penser à du turtle :
    https://replit.com/@LeNarvalo/TURTLE
    (Ca met du temps à charger...)

    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
    import turtle
     
    x, y = 600, 300
    avance = 10
    angle = 45
    turtle.setup(x, y)
     
    win = turtle.Screen()
     
    dessin = turtle.Turtle(visible=False)
    dessin.color("blue")
    dessin.penup()
     
    dessin.right(angle)
    sens = "dd"
    while True:
        dessin.dot(3)
        X, Y  = dessin.pos()
        if X < -(x-20)/2 or X > (x-40)/2:
            if sens == "md":
                dessin.right(-90)
                sens = "mg"
            elif sens == "dd":
                dessin.right(90)
                sens = "dg"
     
            elif sens == "dg":
                dessin.right(-90)
                sens = "dd"
            elif sens == "mg":
                dessin.right(90)
                sens = "md"
     
     
        if Y < -(y-40)/2 or Y > (y-20)/2:
            if sens == "md":
                dessin.right(90)
                sens = "dd"            
            elif sens == "dd":
                dessin.right(-90)
                sens = "md"
     
     
            elif sens == "mg":
                dessin.right(-90)
                sens = "dg"            
            elif sens == "dg":
                dessin.right(90)
                sens = "mg"
     
        dessin.forward(avance)
    Reste à savoir si le point bleu a une conduite automatisée ou pas =)

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 18
    Par défaut
    Citation Envoyé par Sve@r Voir le message


    Ca ça me rappelle ton autre topic sur ce projet de recherche type ARVA...
    Merci pour ta réponse, en effet tu as vu juste mais l'ancien topic c'était surtout pour chercher quelqu'un qui pourrait coder à ma place mais j'ai changé d'avis et j'ai recrée un sujet de discussion pour que le forum puisse m'aider au fur et à mesure de mes avancées, je vais me renseigner sur tous les conseils que vous m'avez apporté et je reviendrai quand je serai bloqué. Merci beaucoup sinon

  14. #14
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Kivy est utilisé pour l'application mobile généralement... on utilise un autre module bulldozer pour transformer son application en apk.

Discussions similaires

  1. Quel outils pour créer des sites webs ?
    Par Mickybytes dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 17/04/2018, 19h36
  2. Quels outils pour créer des supports pédagogiques
    Par yassinbean dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 02/08/2013, 14h12
  3. Quels outils pour créer un jeu 3D ?
    Par Shinja dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 08/06/2013, 19h34
  4. Avant de faire un moteur 3D : quels outils pour créer ?
    Par Sergejack dans le forum Moteurs 3D
    Réponses: 15
    Dernier message: 04/01/2012, 11h07
  5. Réponses: 5
    Dernier message: 20/01/2010, 03h12

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