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

Calcul scientifique Python Discussion :

Application Projective - Rendre en 2D une vue 3D - Python


Sujet :

Calcul scientifique Python

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 58
    Points : 57
    Points
    57
    Par défaut Application Projective - Rendre en 2D une vue 3D - Python
    Bonjour à tous,

    Je me permets de vous solliciter pour un petit projet personnel. Dans celui-ci je suis amené à retranscrire une "vue 3D" sur un plan 2D. Vu qu'une image vaut 1000 mots, voici mon objectif:

    J'ai un terrain de football, ou tennis, en même de pétanque, peu importe en vision "camera". J'entends par là que nous avons la notion de perspective.

    Nom : terrainVue3D.png
Affichages : 500
Taille : 13,6 Ko

    Mon but du jeu est de retranscrire n'importe quel point dans le premier plan dans ce second plan que j'ai qualifié de 2D:

    Nom : terrain2D.png
Affichages : 477
Taille : 4,9 Ko

    En fait je veux passer du mode perspective à une vue aérienne.
    J'ai bien réfléchi sur les différentes méthodes pour arriver à un résultat satisfaisait mais j'ai l'impression que mes notions mathématiques sont trop faibles concernant les projections.

    Pourriez-vous m'aiguiller ?
    Pour tout vous avouer, j'étais parti sur la création automatique de plusieurs points sur les 2 plans et derrière faire un petit réseau neuronal. Cependant je suis bloqué car la moitié des points 3 5 dans le plan 1 ne correspond pas à la moitié des points 3 et 5 du plan 2. En fait, plus on évolue "en profondeur" dans le plan 1 plus la distance est grande et c'est ceci que je n'arrive pas à prendre en compte.

    Pour info je fais ce projet sur python

    Code PYTHON : 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
     
    import numpy as np
    import matplotlib.pyplot as plt
     
    ## On dimenssione le terrain vu 3D
    plt.axis([0, 1000, 0,500])
    x1=[200,50,400,750,600,900]
    y1=[0,300,395,190,450,310]
    ## On ajoute les délimitations de terrain
    plt.plot([200,50],[0,300],color='green')
    plt.plot([50,600],[300,450],color='green')
    plt.plot([600,900],[450,310],color='green')
    plt.plot([900,500],[310,0],color='green')
    plt.plot([400,750],[395,190],color='blue')
     
    ## On dessine 6 points représentatifs du terrain
     
    plt.plot([200,50,400,750,600,900], [0,300,395,190,450,310], 'ro',color='black')
     
     
    for i in range(6):
        plt.text(x1[i]+10,y1[i]+10,i+1)
     
    ## Le résultat obtenu veut être mis en vision 2D au dessus et non sur une vision 3D
    ## Pour cela on veut obtenir le résultat suivant:
     
    plt.axis([0, 1000, 0,500])
    x2=[100,100,500,500,900,900]
    y2=[140,400,400,100,400,100]
     
     
    ## On ajoute les délimitations de terrain
    plt.plot([100,100],[100,400],color='green')
    plt.plot([100,900],[400,400],color='green')
    plt.plot([900,900],[400,100],color='green')
    plt.plot([900,100],[100,100],color='green')
    plt.plot([500,500],[100,400],color='blue')
     
    plt.plot(x2, y2, 'ro',color='black')
     
     
    for i in range(6):
        plt.text(x2[i]+10,y2[i]+10,i+1)

    Merci à vous

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    c'est moins un problème lié à Python qu'un problème de maths

    la principale notion de maths en jeu ici c'est en gros le théorème de Thalès.

Discussions similaires

  1. Application projective - Rendre en 2D une vue 3D
    Par Ineedi2 dans le forum Mathématiques
    Réponses: 2
    Dernier message: 02/01/2019, 14h11
  2. Appeler une vue avec Microsoft Data Access Application Block
    Par LiveFromBx dans le forum Développement
    Réponses: 2
    Dernier message: 12/08/2010, 11h23
  3. Comment rendre dynamique les noms des colonnes d'une vue
    Par patic dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/02/2009, 10h41
  4. Comment rendre 3 champs d'une requête en ID d'une vue?
    Par littlebear dans le forum Débuter
    Réponses: 54
    Dernier message: 03/01/2009, 13h02
  5. Réponses: 7
    Dernier message: 12/07/2004, 22h30

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