Ce projet consiste à simuler des charge électriques ainsi que des lignes de champs qui permettent de représenter le champ électrique généré par les charges. Pour ce faire, nous créons des charges et les positionnons dans un espace que nous avons créé. Nous ajoutons ensuite les lignes de champs dans cet espace, ce qui nous permet de visualiser les champs électriques. Le champs électrique est influencé par le nombre de charges présentent, l'intensité des charges ainsi que leur valeur (positive ou négative). Pour se raprocher au maximum de la réalité, il est important d'utiliser des formules mathématiques. Ces formules permettent de correctement simuler les lignes de champs entre les charges.
Une charge électrique est un atome électriquement chargé, ce qui signifie qu'il possède soit un suprlus d'électron, le rendant positif, ou un déficit d'électron le rendant négatif. Une charge non neutre va donc émettre un champ électrique autour d'elle. Si une multitude de charges sont présentes, celles-ci auront toutes un impact prochent d'elles. Leur intensité fait aussi grandemant varié leur effet sur le champ électrique.
Une ligne de champs nous permet de visualiser le champ électrique généré par les charges. Dans notre cas, nous prenons un endroit aléatoire dans notre espace (Hors charge) et calculons le champs électrique à ce point. Cela nous donne une direction, nous nous déplacons dans cette direction puis recommencons l'ôpération. Le résultat de ce processus nous donne une ligne partant d'une charge et se dirigeant vers une autre ou au contraire, s'éloignant de celle-ci.
Contrairement à la réalité, nous utilisons un espace en 2 dimensions. Cet espace contient les charges ainsi que les lignes de champs. Il est limité à un carré de [0, 1]x[0, 1] ce qui signifie que tout objet dépassant cette limite ne sera pas calculé. Cela nous permet de concentrer les calculs dans cet espace qui sera ensuite affiché. Pour afficher cet espace qui ne contient que des valeur thérorique, nous convertissons les positions en fonction de la taille de l'écran.
Le but du travail, est avant tout de faciliter la compréhension des champs électriques. Avoir une aide visuelle permet de mieux se rendre compte du fonctionnement de celles-ci. Il est aussi possible de s'en servir au sein d'autres projet permettant de simulé quelque chose qui serait influencé par les champs électriques.§
Chapitres:
- Méthodologie: Une description du travail permet de mieux comprendre ça réalisation, ainsi que la méthodologie que nous avons utilisé pour y arriver contenant aussi des rappels théoriques.
- Résultats: Les résultats du programme sont aussi disponibles plus bas.
- Conclusion: Conclusion et résumé du travail.
# Méthodologie
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 la force des 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 ainsi que les lignes de champs.
D'autres sections ont servient mais n'on pas été créé pour ce projet en particulier. On peut retrouver la librairie gfx qui permet tout l'affichage, ainsi que vec2 qui nous est utile pour les calculs de vecteurs dans notre espace. Et finalement utils qui nous permet avant tout à convertir nos vecteur théoriques en coordonnées utilisables par l'affichage.
Afin de travailler plus éfficacement, nous nous sommes partager la charge de travail, pendant que l'un travaillait sur les fonctions `d'affichage`, l'autres commencait à écrire les fonctions de calculs `physiques`. Cela nous a permit de travailler en parralèle et d'avancer plus vite le projet. Terminer les fonctions d'affichage rapidement étant très important afin de pouvoir visualiser le résultat des calculs. Lorsque l'affichage était fini et la première partie des calculs aussi, nous nous sommes concentré ensemble sur la partie `finale` qui consiste à afficher les lignes de champs. Lorsque le travail nous a semblé terminé, nous nous sommes penché sur l'optimisation du code.
# Résultats
Voici un exemple de résultat que nous avons observé avec notre programme (Figure #), on peut y observer les charges électriques, chargée différement, ainsi que les lignes de champs. On voit très rapidement que les lignes partent d'une charge et se dirige vers l'autre. C'est le résultat attendu dans ce cas. Maintenant si nous augmentons la puissance d'une des charges, on souhaite voir que celle-ci a un plus gros impacte sur le champ électrique que l'autre charge. C'est bien le cas comme on peut l'observer (Figure #) et on peut vérifier la même chose en le faisant dans l'autre sense(Figure #).
Figure #, Figure #, Figure #
Pour s'assurer du bon fonctionnement de notre programme, nous avons décidé d'ajouter plusieurs charges afin de vérifier que le champ se comporte de manière cohérente. Comme on peut le voir (Figure #), les lignes de champs sont correctement impactées par les charges ainsi que par leur intensité.
Figure #
En plus de ces de logiques, nous avons un batterie de test permettant de vérifier que différentes parties du programme fonctionnent. Pour l'affichage, il s'agit aussi d'un test visuel. Nous déssinnons divers traits ainsi qu'un cercle et vérifions si l'affichage correspont à ce que l'on souhaite. Dans notre cas, un cercle et de multiples traits partant dans toutes les directions(Figure #).