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

GUI Python Discussion :

Label et Graphisme avec vpython


Sujet :

GUI Python

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2019
    Messages : 67
    Points : 42
    Points
    42
    Par défaut Label et Graphisme avec vpython
    Bonjour,

    je débute dans l'utilisation de vpython, donc je me sers de la documentation en ligne: https://www.glowscript.org/docs/VPythonDocs/label.html

    Je suis entrain de faire un programme qui à l'intérieur d'une fenêtre vpython affiche:
    - du texte et des valeurs numériques sur la gauche
    - des sphères sur la droite, dans la même fenêtre.

    Il est précisé dans la documentation, que les textes qui utilisent l'instruction "label" sont fixes, et ne se déplacent pas avec le mouvement d'un objet :"With the label object you can display text in a box, and the label always faces forward, even if you rotate the scene".
    Dans mon cas, avec un click droit sur la souris, le texte bouge, y compris s'il n'y a pas d'objet (sphère,cube....) dans cette fenêtre. Voir images ci-jointes.
    Comment corriger cela et rendre le texte fixe, même avec un click droit de la souris ? Voir image 1 (avant click droit sur la souris) et image 2 (après click droit sur la souris)

    Deuxième question: supposons qu'on ait une sphère et un cube dans la même fenêtre. Comment est-il possible de faire tourner la sphère en laissant le cube fixe au même endroit et vice-versa ? Des idées ?

    A toutes fins utiles, je fournis mon code ci-dessous. Merci par avance.

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
     
    from vpython import *
     
     
    def calcul_volume(b):
        global volume, rayon
        rayon = b.number
        volume = 4/3*pi*rayon**3
        print(volume)
        return volume, rayon
     
    def masse_maille(y):
        global masse_maille_elementaire
        masse_molaire = y.number
        masse_maille_elementaire=masse_molaire*1e-3/(6.02e23)
        return masse_maille_elementaire
     
     
    def Menu(x):
     
        global arete, volume_maille
     
        if x.selected == "CS": 
     
            print('CS a été sélectionné')
            label(pos=vector(-12,8,0), text="Rayon de l'atome :", box=0)
            label(pos=vector(-12,7,0), text="{} m".format(rayon), box=0)
            label(pos=vector(-12,5,0), text="Volume de l'atome :", box=0)
            label(pos=vector(-12,4,0), text="{} m3".format(round(volume,31)), box=0)
            # CALCUL DE L'ARETE DE LA MAILLE ELEMENTAIRE
            arete = 2*rayon
            label(pos=vector(-12,2,0), text="Arête de la maille élementaire :", box=0)
            label(pos=vector(-12,1,0), text="{} m".format(arete), box=0)
            # CALCUL DU VOLUME DE LA MAILLE ELEMENTAIRE
            volume_maille = arete**3
            label(pos=vector(-12,-1,0), text="Volume de la maille élementaire :", box=0)
            label(pos=vector(-12,-2,0), text="{} m3".format(round(volume_maille,31)), box=0)
            # CALCUL DE LA MASSE VOLUMIQUE
            ro = 1*1e-3*masse_maille_elementaire/volume_maille    # exprime la masse volumique en g.cm-3
            label(pos=vector(-12,-4,0), text="Masse Volumique :", box=0)
            label(pos=vector(-12,-5,0), text="{} g.cm-3".format(round(ro,2)), box=0)
     
            # DESSIN DU MODELE COMPACT 3D
     
            # DESSIN DU MODELE ECLATE 3D
     
     
        if x.selected == "CC": 
            print('CC a été sélectionné')
            label(pos=vector(-12,8,0), text="Rayon de l'atome :", box=0)
            label(pos=vector(-12,7,0), text="{} m".format(rayon), box=0)
            label(pos=vector(-12,5,0), text="Volume de l'atome :", box=0)
            label(pos=vector(-12,4,0), text="{} m3".format(round(volume,2)), box=0)
     
     
        if x.selected == "CFC": 
            print('CFC a été sélectionné')
        if x.selected == "HC": 
            print('HC a été sélectionné')
     
     
    scene.append_to_caption(' ')  
    scene.append_to_caption('\n') 
    scene.append_to_caption("Entrez le rayon de l'atome en mètres (Appuyer ensuite sur 'Enter'):  ")
    winput(bind=calcul_volume, text='')
    scene.append_to_caption('\n')
     
    scene.append_to_caption('\n') 
    scene.append_to_caption("Entrez la masse molaire atomique (Appuyer ensuite sur 'Enter'):  ")
    winput(bind=masse_maille, text='')
    scene.append_to_caption('\n')
     
    scene.append_to_caption('  ')  
    scene.append_to_caption('\n')
    scene.append_to_caption('Entrez le système : CS, CC, CFC, HC :  ')
     
    menu( choices=['STRUCTURE','CS' ,'CC', 'CFC', 'HC'], bind=Menu)
    scene.append_to_caption('\n')
    Images attachées Images attachées   

Discussions similaires

  1. Réponses: 25
    Dernier message: 10/06/2014, 14h47
  2. graphisme avec visual
    Par zieg18 dans le forum MFC
    Réponses: 5
    Dernier message: 14/07/2006, 23h03
  3. [xml] un label qui répète avec une condition
    Par ekmule dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 10/01/2006, 13h08
  4. Graphismes avec Visual C++
    Par altobar dans le forum MFC
    Réponses: 13
    Dernier message: 05/09/2005, 11h33

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