2025-12-29 16:57:16 +01:00
2025-12-29 16:40:55 +01:00
2025-12-29 15:28:34 +01:00
2025-12-29 13:52:39 +01:00
rm
2025-12-29 13:53:22 +01:00
2025-12-29 16:57:16 +01:00
2025-12-29 13:52:39 +01:00
2025-12-29 13:59:09 +01:00
2025-12-29 15:30:19 +01:00

Simulateur d'Interféromètre de Michelson

Une simulation interactive temps réel et physiquement réaliste de l'interféromètre de Michelson. Ce projet permet de visualiser les figures d'interférences (franges et anneaux) en manipulant les composants optiques (miroirs, source lumineuse, milieu).

Aperçu du simulateur

Fonctionnalités

Contrôle et Simulation

  • Miroir Mobile (M1) : Translation et inclinaison sur deux axes.
  • Sources Lumineuses :
    • Spectre (380nm - 780nm).
    • Gestion de sources polychromatiques (ajout/suppression de longueurs d'onde multiples).
    • Rendu additif des couleurs.
  • Milieux dispersifs : Ajout d'une cuve de gaz avec indice de réfraction variable n pour visualiser le déphasage.

Performance & Rendu

  • Rendu GPU : Calcul des interférences par shader (GLSL) pour des performances élevées.
  • Interface UI : raygui.
  • Optimisation : Sélecteur de FPS Cible (30, 60, 120, 144, Illimité).
  • Vues : Schéma optique 2D + Vue "Écran".

Installation et Compilation

Prérequis

Compilation (Linux / Mac)

make
make run 

ou

gcc main.c -o michelson -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
./michelson

Version Web (Emscripten)

make web 
make webrun

ou

mkdir -p web && emcc -o web/index.html main.c -Os -Wall -std=c99 -DPLATFORM_WEB -s USE_GLFW=3 -s ALLOW_MEMORY_GROWTH=1 -I. --shell-file minshell.html --preload-file glsl/michelson_web.frag raylib/libraylib.web.a

Contrôles Utilisateur

Action Commande
Plein Écran Touche F
Sélectionner une longueur d'onde Clic Gauche sur le spectre
Ajouter une longueur d'onde Clic Droit sur une zone vide du spectre
Supprimer une longueur d'onde Clic Droit sur une ligne existante
Régler les miroirs Sliders / boutons + / -
Précision / Vitesse Maintenir Shift

Physique du projet

Calcule de l'intensité lumineuse en tout point de l'écran en se basant sur la différence de marche.

Description
Simulation physique d'un interféromètre de Michelson avec raylib.
Readme 1.9 MiB
Languages
C 98.5%
GLSL 1%
HTML 0.4%