Étiquette : Physique

Projets

Convertisseur d’unité en python

Plus besoin de convertir des unités de tête ou avec un tableau. Ce programme vous fait le travail à votre place.

Ce projet est un programme réalisé avec python dans le but de convertir un nombre avec une unité de départ dans une unité finale. Il permet de convertir des volumes, des masses, des longueurs et des aires. Ce programme a été développé à l’aide d’omega et est téléchargeable sur la calculatrice Numworks grâce aux liens hypertextes en bas de cet article.

Explication de notre programme

• Tout d’abord nous avons dû assimilés les unités avec les puissances de 10 qui correspondaient.

expo0 = [10**-3, 10**-2, 10**-1, 10**0, 10**1, 10**2, 10**3, 10**-3, 10**0, 10**3, 10**6, 10**9]
unit0 = ["mL", "cL", "dL", "L", "daL", "hL", "kL", "cm3", "dm3", "m3", "dam3", "hm3", "km3"]
 
expo1 =[10**-3, 10**-2, 10**-1, 10**0, 10**1, 10**2, 10**3, 10**5, 10**6]
unit1 =["mg", "cg", "dg", "g", "dag", "hg", "kg", "q", "t"]
 
expo2 = [10**-9,10**-6,10**-3,10**-2,10**-1,10**0,10**1,10**2,10**3]
unit2 = ["nm","micrometre","mm","cm","dm","m","dam","hm","km",]
 
expo3 = [10**-6, 10**-4, 10**-2, 10**0, 10**2, 10**4, 10**6]
unit3 = ["mm2", "cm2", "dm2", "m2", "dam2", "hm2", "km2"]

• On a également créer une petite fonction utile.

Une fonction utile

def clear(nb):
    print("\n"*nb)

Cette fonction permet de sauter le nombre de ligne que l’on veut en écrivant ce nombre entre les parenthèses.

Exemple

clear(2)

• Ensuite, nous avons créé les fonctions permettant de convertir les unités.

Fonction volume, masse, longueur et aire

def volume():
    clear(6)
    print("Vous avez choisi les volumes.")
    clear(2)
    nbr = float(input("Quel nombre voulez vous\nconvertir : "))
    clear(1)
    print("liste des unites : \n0 = mL\t1 = cL\t 2 = dL\n3 = L \t4 = daL\t5 = hL\n6 = kL\t7 = cm3\t8 = dm3\n9 = m3\t10 = dam3  11 = hm3\n12 = km3")
    clear(1)
    unit_d0 = int(input("Quel est l'unite de depart\nde votre nombre : "))
    clear(0)
    unit_a0 = int(input("Quel est l'unite final\nde votre nombre : "))
    convert0 = nbr * expo0[unit_d0] / expo0[unit_a0]
    clear(1)
    print("Le resultat est :\n%.3e"%convert0, unit0[unit_a0])
    clear(0)
    go_menu = float(input("Entrez un nombre pour\nretourner au menu : "))
    if go_menu == 1:
        return menu()
    else:
        return menu()

Explication de la fonction volume ci-dessus

Cette fonction nous demande dans un premier temps, quel nombre nous voulons convertir.

Et dans un second temps, l’unité de départ et l’unité finale du nombre.

Cette fonction nous affiche ensuite le résultat et nous demande d’écrire un nombre au hasard pour retourner au menu (que l’on verra plus tard dans cet article).

def masse():
    clear(6)
    print("Vous avez choisi les masses.")
    clear(2)
    nbr = float(input("Quel nombre voulez vous\nconvertir : "))
    clear(1)
    print("liste des unites : \n0 = mg\t1 = cg\t2 = dg\n3 = g     4 = dag   5 = hg\n6 = kg\t7 = q\t 8 = t")
    clear(1)
    unit_d1 = int(input("Quel est l'unite de depart\nde votre nombre : "))
    clear(1)
    unit_a1 = int(input("Quel est l'unite final\nde votre nombre : "))
    convert1 = nbr * expo1[unit_d1] / expo1[unit_a1]
    clear(1)
    print("Le resultat est :\n%.3e"%convert1, unit1[unit_a1])
    clear(0)
    go_menu = float(input("Entrez un nombre pour\nretourner au menu : "))
    if go_menu == 1:
        return menu()
    else:
        return menu()

La fonction masse ci-dessus

Cette fonction est la même que la fonction volume, mais elle ne convertit pas des volumes mais des masses.

def longueur():
    clear(6)
    print("Vous avez choisi les longueurs.")
    clear(2)
    nbr = float(input("Quel nombre voulez vous\nconvertir : "))
    clear(1)
    print("liste des unites : \n0 = nm\t1 = micrometre\n2 = mm\t3 = cm\t4 = dm\n5 = m     6 = dam   7 = hm\n8 = km")
    clear(1)
    unit_d2 = int(input("Quel est l'unite de depart\nde votre nombre : "))
    clear(0)
    unit_a2 = int(input("Quel est l'unite final\nde votre nombre : "))
    convert2 = nbr * expo2[unit_d2] / expo2[unit_a2]
    clear(1)
    print("Le resultat est :\n%.3e"%convert2, unit2[unit_a2])
    clear(0)
    go_menu = float(input("Entrez un nombre pour\nretourner au menu : "))
    if go_menu == 1:
        return menu()
    else:
        return menu()

La fonction longueur ci-dessus

Cette fonction est la même que la fonction volume et la fonction masse, mais elle ne convertit ni des volumes ni des masses, mais des longueurs.

def aire():
    clear(6)
    print("Vous avez choisi l'aire.")
    clear(2)
    nbr = float(input("Quel nombre voulez vous\nconvertir : "))
    clear(1)
    print("liste des unites : \n0 = mm2\t1 = cm2\t2 = dm2\n3 = m2     4 = dam2   5 = hm2\n6 = km2")
    clear(1)
    unit_d3 = int(input("Quel est l'unite de depart\nde votre nombre : "))
    clear(1)
    unit_a3 = int(input("Quel est l'unite final\nde votre nombre : "))
    convert3 = nbr * expo3[unit_d3] / expo3[unit_a3]
    clear(1)
    print("Le resultat est :\n%.3e"%convert3, unit3[unit_a3])
    clear(0)
    go_menu = float(input("Entrez un nombre pour\nretourner au menu : "))
    if go_menu == 1:
        return menu()
    else:
        return menu()

La fonction aire ci-dessus

Cette fonction est la même que la fonction volume, la fonction masse et la fonction longueur, mais elle ne convertit ni des volumes ni des masses ni des longueurs, mais des aires.

• Et pour finir nous avons créé une fonction menu.

def menu():
    clear(3)
    print("        _______________")
    print("       |               |")
    print("       | CONVERTISSEUR |")
    print("       |    D'UNITE !  |")
    print("       |_______________|")
    print("\n1 - Le volume")
    print("2 - La masse")
    print("3 - La longueur")
    print("4 - L'aire\n")
    choix = int(input("Indiquer votre choix : " ))
 
    if choix == 1:
        volume()
 
    elif choix == 2:
        masse()
 
    elif choix == 3:
        longueur()
 
    elif choix == 4:
        aire()
 
    else:
        return menu()

Explication de la fonction menu ci-dessus

Cette fonction nous propose 4 choix qui sont le volume, la masse, la longueur et l’aire. Ces 4 choix sont respectivement associés aux chiffres 1, 2, 3 et 4 donc si on rentre le chiffre 1, le programme va exécuter la fonction volume. Et si on rentre un nombre différent de 1, 2, 3 et 4 la fonction exécutera encore le menu.

Conclusion

Plus besoin de convertir mentalement ou avec un tableau, ce programme vous fait le travail à votre place ! Vous pouvez le télécharger les liens ci-dessous.

Le programme

ServeurRemarquesLiens hypertextes
Workshop de NumWorksPermet un téléchargement rapide sur la calculatriceconvertisseur d’unité

Tutoriels

Réaliser une collision de particules à l’aide de Trapcode…

Dans ce tutoriel, vous allez apprendre à créer une belle animation de particules qui vous permettra par exemple d’avoir un très beau fond dynamique pour vos projets et cela assez facilement.

Pour réaliser cette animation vous devrez posséder le plugin Trapcode Form de Red Giant

Si vous n’avez jamais utilisé cet outil, c’est l’occasion parfaite d’apprendre, suivez bien chaque étape pour comprendre son fonctionnement.

Il est nécessaire de noter que l’animation que vous allez voir dans ce tutoriel est un exemple et qu’il existe de nombreuses autres animations de collision de particules
Suite à ce tutoriel vous serez capable de créer votre propre animation en vous basant sur l’exemple étudié ici.

Afin de réaliser cette animation, veuillez suivre les instructions suivantes :

Ouvrez votre logiciel After Effects et créez une nouvelle composition en cliquant sur cet icône (dans l’onglet Projet) :

(ou à l’aide du raccourci Ctrl+N)
Je vous conseille de mettre une résolution basique comme le 16:9 donc en 1920*1080 par exemple, ou bien sûr, celle qui correspondrait à votre projet. Choisissez une cadence de 60 ips (images par seconde) pour avoir une animation fluide. Enfin, choisissez la durée que vous désirez et cliquez sur « OK ».

 Utilisez le raccourci Ctrl+Y pour créer un nouveau solide que vous pouvez renommer « Form » pour une meilleure visibilité. Le format du solide sera automatiquement sélectionné en fonction du format de votre composition. La couleur du solide importe peu. Cliquez sur « OK ».

 Nous allons maintenant mettre le plugin Form sur le solide que nous venons de créer.
Si vous ne voyez pas l’onglet « Effets et paramètres prédéfinis », vous pouvez le faire apparaître en cliquant sur : Fenêtre > Espace de travail > Effets
Recherchez « Form » dans cet onglet et glissez-le sur votre solide. A côté de l’onglet Projet devrait souvrir un onglet nommé Effets Form.

 Pour créer notre animation, nous allons utiliser l’outil « Designer » de Red Giant, vous pouvez l’ouvrir en cliquant simplement sur ceci :

La fenêtre Trapcode Form Designer va s’ouvrir et vous présenter plusieurs onglets avec de nombreux paramètres, ne prenez pas peur, ce plugin n’est pas si compliqué qu’il n’y paraît.

Pour réaliser facilement cette animation, nous allons utiliser un objet qui est inclus dans le plugin. Dans les paramètres de cet onglet :

Cliquez sur Base Form Type et sélectionnez OBJ Model. En cliquant sur Choose OBJ, vous pouvez choisir l’objet de votre choix parmi ceux proposés par Trapcode Form.
Pour ce tutoriel j’ai décidé d’utiliser l’objet Bucky.

Pour une plus belle animation, j’uniformise la répartition des particules sur l’objet.
Pour cela, dans la même fenêtre, je vais descendre avec la molette de la souris jusqu’à voir la catégorie OBJ Settings. Mettre la Particles Form sur Faces et baisser la Particle Density autour des 20 %.

Il est notable que vous pouvez ajuster différents paramètres au niveau des particules dans cet onglet :

Vous pouvez modifier le type des particules, leur taille, leur opacité, et leur couleur.
Pour ce tutoriel je vais seulement modifier la couleur des particules pour un meilleur rendu lorsque l’on aura une collision avec un objet.

Si vous voulez modifier la couleur des particules comme moi, cliquez sur l’onglet COLOR. Dans la catégorie Color, mettez Set Color sur Over X, Y, ou Z, selon l’apparence que vous voulez donner à votre objet.
Vous pouvez modifier la couleur dans la catégorie Color Over, vous pouvez voir qu’il existe des couleurs prédéfinies que vous pouvez sélectionner en cliquant sur l’icône Presets.

 Nous allons maintenant ajouter du mouvement à notre objet en allant dans l’onglet FLUID :

Il faut activer le mouvement en cliquant sur Fluid Motion . Vous verrez un cube et une flèche apparaître sur votre objet, ils représentent respectivement la zone d’action du « Fluid », et son intensité. Dans ce tutoriel, nous allons seulement utiliser l’outil Buoyancy qui signifie « La poussée » en français. Nous allons le régler en négatif afin que le mouvement se fasse vers le bas, plus la valeur sera élevée, plus l’intensité du mouvement sera forte.

 Nous allons maintenant dupliquer notre objet afin de réaliser une collision de particules, pour cela, cliquez sur la flèche que vous pouvez voir dans cet onglet :

Et sélectionnez Duplicate Form.
Vous verrez que votre objet a seulement doublé en luminosité, c’est car votre objet a bien été dupliqué mais les deux sont superposés. Pour palier à ce problème, allez dans les paramètres de Type de votre objet dupliqué (qui se nomme Form 2), dans la catégorie Particles/Strings, augmentez la deuxième valeur (l’axe Y) de la Relative Position jusqu’à ce que l’objet dupliqué soit en dehors du premier.
Vous pouvez modifier la couleur de cet objet pour mieux les différencier et obtenir une très belle collision de particules.

 Nous devons faire en sorte que les deux objets entrent en collision, il faut donc, dans les paramètres Fluid de Form 2, mettre la valeur de la Buoyancy en positif (une fois de plus, à vous de choisir la valeur qui vous paraît la meilleure).

Pour une meilleure visibilité, nous pouvons centrer proportionnellement nos deux objets. Pour cela, il faut retourner dans les paramètres de Type de Master Form, aller dans la catégorie Particles/Strings, et baisser la valeur de l’axe Y.

Si vous avez correctement suivi chaque étape, vous aurez ceci :

 Si vous appuyez sur la barre espace, le rendu de votre animation va se lancer et vous verrez une magnifique collision entre les deux objets suite au mouvement qu’on leur a donné avec le Fluid Motion

Pour finaliser votre animation, cliquez sur Apply, vous la verrez apparaître dans la fenêtre de prévisualisation d’After Effects.

Et voilà, vous avez une très belle animation de collision de particules pour compléter vos projets.