Le programme peut se décomposer en plusieurs sections. La section d'affichage primaire, qui permet d'afficher des lignes ou des cercles, qui seront utilisés plus tard pour afficher des résultats plus complexes. La section de calculs physique, qui permet de calculer les champs à une certaine position dans notre espace. Puis finalement les fonctions qui se servent des deux sections précédentes afin d'afficher les charges et les lignes de champs.
Le programme peut se décomposer en plusieurs sections. La section d'affichage primaire, qui permet d'afficher des lignes ou des cercles, qui seront utilisés plus tard pour afficher des résultats plus complexes. La section de calculs physique, qui permet de calculer les champs à une certaine position dans notre espace. Puis finalement les fonctions qui se servent des deux sections précédentes afin d'afficher les charges et les lignes de champ.
## Dessin de formes géométriques
Celui-ci permettant de tester et d'utiliser toutes les autres fonctionnalités
du projet, il paraîssait sage de commencer par implémenter des
du projet, il paraissait sage de commencer par implémenter des
Dans un premier temps nous créons des charges et les
Dans un premier temps, nous créons des charges et les
positionnons dans l'espace de simulation.
Nous dessinons ensuite les lignes de champ dans cet espace,
ce qui nous permet de visualiser les champs électriques.
...
...
@@ -219,7 +219,7 @@ notre programme.
Notons que les charges électriques sont de signes opposés.
On voit très rapidement que les lignes de champ relient les charges.
Cela est effectivement le résultat attendu dans ce cas de figure.
Maintenant si nous augmentons la valeur absolue d'une des charges,
Maintenant, si nous augmentons la valeur absolue d'une des charges,
on remarque que celle-ci a un impact plus important sur le champ
électrique total que l'autre charge.
...
...
@@ -234,7 +234,7 @@ Le résultat affiché semble cohérent.
En plus de ces tests s'appliquant au modèle physique,
nous avons une batterie de tests permettant de se convaincre de façon
nonexhaustive que les différentes fonctions aient un comportement adéquat.
non-exhaustive que les différentes fonctions aient un comportement adéquat.
Dans le cas des fonctions de calcul de grandeurs physiques,
nous avons réalisé des tests unitaires.
Pour l'affichage, le test est visuel et nécessite un bref contrôle humain.
...
...
@@ -246,10 +246,8 @@ Le rôle de ces tests est de former un premier filtre face aux bugs éventuels.
# Conclusion
Au cours de ce projet nous avons pu observer la "forme"
du champ électrique dans un espace contenant plusieures charges.
Cela nous permettrait de visualiser, par exemple, la direction du
vecteur accélération d'une charge mobile qui se retrouverait
dans cet environnement. Les résultats obtenuent sont satisfaisant par rapport aux résultat attenduent. Surtout lorsque plus de deux charges sont présentent.
Au cours de ce projet, nous avons pu observer la "forme" du champ électrique dans un espace contenant plusieurs charges. Cela nous permettrait de visualiser, par exemple, la direction du vecteur accélération d'une charge mobile qui se retrouverait dans cet environnement. Les résultats obtenus sont satisfaisants par rapport aux résultats attendus. Surtout lorsque plus de deux charges sont présentent.
Le fonctionnement du programme correspont à la théorie fournie et satisfait donc son bute principale étant de permettre la visualisation des champs électriques. Il a été difficile dans temps emparti de réaliser le programme ainsi que des tests mais nous avons tout de même réussi à réaliser le travail, ainsi que des tests des fonctions les plus importantes.
Le fonctionnement du programme correspond à la théorie fournie et satisfait donc son but principal étant de permettre la visualisation des champs électriques. Il a été difficile dans le temps imparti de réaliser le programme ainsi que des tests, mais nous avons tout de même réussi à réaliser le travail, ainsi que des tests des fonctions les plus utilisées.
Afin d'améliorer le projet, la première étape serait d'y ajouter les tests unitaires manquants. Pour aller plus loin, il serait envisageable de le réaliser de manière dynamique. Cela demanderait un gros travail d'optimisation, pour obtenir suffisamment de frame par seconde ainsi que l'ajout de déplacement des charges. Ajouter des intéractions serait ludique et permettrait de comprendre plus facilement les lignes de champ. Ce serait faisable en laissant l'utilisateur ajouter des lignes de champ manuellement ou en modifiant en direct les charges.