From 4a00ca4917893435a0edc8ff746cb5e7a5ee2b5a Mon Sep 17 00:00:00 2001 From: zeefaad Date: Sun, 28 Dec 2025 00:52:10 +0100 Subject: [PATCH] fini --- main.c | 122 +++++++++++++++++++++++++++++++++--------------------- michelson | Bin 0 -> 121064 bytes 2 files changed, 75 insertions(+), 47 deletions(-) create mode 100755 michelson diff --git a/main.c b/main.c index 75dbf00..07a220b 100644 --- a/main.c +++ b/main.c @@ -29,12 +29,51 @@ Color WavelengthToColor(float lambda) { else if (lambda >= 380 && lambda <= 645) factor = 1.0f; else if (lambda > 700 && lambda <= 780) factor = 0.3f + 0.7f * (780 - lambda) / (780 - 700); - return (Color){ - (unsigned char)(r * factor * 255), - (unsigned char)(g * factor * 255), - (unsigned char)(b * factor * 255), - 255 - }; + return (Color){(unsigned char)(r * factor * 255), (unsigned char)(g * factor * 255), (unsigned char)(b * factor * 255), 255}; +} + +void DrawInterferenceView(Michelson *mic, Rectangle rec) { + DrawText("ECRAN", rec.x, rec.y - 30, 20, WHITE); + + DrawRectangleRec(rec, BLACK); + DrawRectangleLinesEx(rec, 2, DARKGRAY); + + Color baseColor = WavelengthToColor(mic->lambda); + + // Diff de marche du à l'axe (2 * e) + micro -> nano + float deltaLnm = 2.0f * (mic->d1 - mic->d2) * 1000.0f; + + int cx = rec.x + rec.width / 2; + int cy = rec.y + rec.height / 2; + + // Dessin pixel par pixel lent... => faire avec gpu + for (int y = rec.y; y < rec.y + rec.height; y++) { + for (int x = rec.x; x < rec.x + rec.width; x++) { + float relX = (float)(x - cx); + float relY = (float)(y - cy); + float radiusSq = relX * relX + relY * relY; + + // Diff de marche lamme d'air 2 * e cos(i) mais petits angles => cos(i) ~ 1 - i^2/2 mais i ~ r/f et r^2 = x^2 + y^2 + float ringFactor = radiusSq * 0.065f; + // Diff de marche dut au coin d'air + float wDelta = relX * mic->angleM1 * 200.0f; + + float currDelta = deltaLnm - ringFactor + wDelta; + + // Formule de Fresnel : I = I_0 * cos^2(phi) + float phase = (PI * currDelta) / mic->lambda; + float intensity = cosf(phase); + intensity = intensity * intensity; + + Color pixColor = {(unsigned char)(baseColor.r * intensity), (unsigned char)(baseColor.g * intensity), (unsigned char)(baseColor.b * intensity), 255 }; + + DrawPixel(x, y, pixColor); + } + } + + // croix centre + DrawLine(cx - 10, cy, cx + 10, cy, Fade(WHITE, 0.5f)); + DrawLine(cx, cy - 10, cx, cy + 10, Fade(WHITE, 0.5f)); } void DrawMichelsonSchema (Michelson *mic) { @@ -42,50 +81,45 @@ void DrawMichelsonSchema (Michelson *mic) { Color laserColor = WavelengthToColor(mic->lambda); float thickness = 4.0f; - float armLengthSource = 450.0f; - float armLengthScreen = 450.0f; + float sourceLen = 450.0f; + float screenLen = 450.0f; float mirrorSize = 140.0f; - Vector2 startSource = {c.x - armLengthSource, c.y}; + // Source + Vector2 startSource = {c.x - sourceLen, c.y}; DrawLineEx(startSource, c, thickness, laserColor); DrawRectangle(startSource.x - 20, startSource.y - 15, 20, 30, DARKGRAY); DrawText("Source", startSource.x - 30, startSource.y - 40, 20, LIGHTGRAY); + // Miroir M2 (fixe) Vector2 posM2 = {c.x + mic->d2, c.y}; - DrawLineEx(c, posM2, thickness, laserColor); - DrawLineEx(c, (Vector2){c.x, c.y + armLengthScreen}, thickness, Fade(laserColor, 0.6f)); - + DrawLineEx(c, (Vector2){c.x, c.y + screenLen}, thickness, Fade(laserColor, 0.6f)); DrawRectangle(posM2.x, posM2.y - (mirrorSize / 2), 12, mirrorSize, LIGHTGRAY); DrawRectangle(posM2.x, posM2.y - (mirrorSize / 2) + 2, 4, mirrorSize - 4, WHITE); DrawText("M2", posM2.x + 20, posM2.y - 10, 20, GRAY); + // Miroir M1 (mobile) Vector2 posM1 = {c.x, c.y - mic->d1}; - DrawLineEx(c, posM1, thickness, laserColor); - float angleRad = (mic->angleM1 * 2.0f) * (PI / 180.0f); - float yScreen = c.y + armLengthScreen; - float verticalDist = yScreen - posM1.y; - float xOffset = verticalDist * tanf(angleRad); - - Vector2 endPointRetour = { - posM1.x + xOffset, - yScreen - }; - + // Projection rayon sur écran (corection tangente) + float angleRad = -(mic->angleM1 * 2.0f) * (PI / 180.0f); + float yScreen = c.y + screenLen; + float vertDist = yScreen - posM1.y; + float xOff = vertDist * tanf(angleRad); + Vector2 endPointRetour = { posM1.x + xOff, yScreen }; DrawLineEx(posM1, endPointRetour, thickness, Fade(laserColor, 0.6f)); Rectangle recM1 = {posM1.x, posM1.y, mirrorSize, 12.0f}; Vector2 originM1 = {mirrorSize / 2, 6.0f}; DrawRectanglePro(recM1, originM1, mic->angleM1, LIGHTGRAY); - Rectangle recM1Face = {posM1.x, posM1.y, mirrorSize - 4, 4.0f}; Vector2 originM1Face = {(mirrorSize - 4) / 2, 6.0f}; DrawRectanglePro(recM1Face, originM1Face, mic->angleM1, WHITE); - DrawText("M1", posM1.x - 40, posM1.y - 30, 20, ORANGE); + // Séparatrice float sepLen = 220.0f; Rectangle sepRec = {c.x, c.y, 4.0f, sepLen}; Vector2 sepOrigin = {2.0f, sepLen / 2}; @@ -102,7 +136,6 @@ void DrawControlPanel(Michelson *mic) { int startX = 30; int startY = 30; - int buttonWidth = 60; int spacing = 20; int contentWidth = UI_WIDTH - 60; @@ -115,28 +148,21 @@ void DrawControlPanel(Michelson *mic) { DrawText("PARAMETRES", startX, startY, 30, WHITE); + // Sliders startY += 80; DrawText(TextFormat("Longueur d'onde: %.0f nm", mic->lambda), startX, startY, 20, LIGHTGRAY); GuiSlider((Rectangle){startX, startY + 30, contentWidth - 45, 30}, NULL, NULL, &mic->lambda, 380, 780); DrawRectangle(startX + contentWidth - 35, startY + 30, 35, 30, WavelengthToColor(mic->lambda)); startY += 100; - DrawText(TextFormat("Position M1 (d1): %.1f", mic->d1), startX, startY, 20, ORANGE); - + DrawText(TextFormat("Position M1 (d1): %.1f um", mic->d1), startX, startY, 20, ORANGE); GuiSlider((Rectangle){startX, startY + 30, sliderWidth, 30}, NULL, NULL, &mic->d1, 100, 600); - - if (GuiButton((Rectangle){startX + sliderWidth + spacing + 15, startY + 30, buttonWidth, 30}, "Egal")) { - mic->d1 = mic->d2; - } + if (GuiButton((Rectangle){startX + sliderWidth + spacing + 15, startY + 30, buttonWidth, 30}, "Egal")) mic->d1 = mic->d2; startY += 100; DrawText(TextFormat("Inclinaison M1: %.2f deg", mic->angleM1), startX, startY, 20, ORANGE); - - GuiSlider((Rectangle){startX, startY + 30, sliderWidth, 30}, "-5", "+5", &mic->angleM1, -5.0f, 5.0f); - - if (GuiButton((Rectangle){startX + sliderWidth + spacing + 15, startY + 30, buttonWidth, 30}, "0.0")) { - mic->angleM1 = 0.0f; - } + GuiSlider((Rectangle){startX, startY + 30, sliderWidth, 30}, "-1", "+1", &mic->angleM1, -1.0f, 1.0f); + if (GuiButton((Rectangle){startX + sliderWidth + spacing + 15, startY + 30, buttonWidth, 30}, "0.0")) mic->angleM1 = 0.0f; const char* modeTxt = (fabs(mic->angleM1) < 0.01f) ? "MODE: LAME D'AIR" : "MODE: COIN D'AIR"; Color modeColor = (fabs(mic->angleM1) < 0.01f) ? SKYBLUE : GREEN; @@ -144,34 +170,36 @@ void DrawControlPanel(Michelson *mic) { startY += 140; DrawRectangleLines(startX - 10, startY - 10, contentWidth + 20, 100, GRAY); - DrawText("Données temps réel", startX, startY, 20, LIGHTGRAY); + DrawText("Données", startX, startY, 20, LIGHTGRAY); float delta = 2 * (mic->d1 - mic->d2); - DrawText(TextFormat("Delta (m) = %.2f", delta), startX, startY + 35, 22, WHITE); + DrawText(TextFormat("Delta = %.2f um", delta), startX, startY + 35, 22, WHITE); - float p = delta / (mic->lambda / 10.0f); - DrawText(TextFormat("Ordre p = %.2f", p), startX, startY + 65, 22, LIGHTGRAY); + float p = (delta * 1000.0f) / mic->lambda; + DrawText(TextFormat("Ordre p = %.2f", p), startX, startY + 65, 22, LIGHTGRAY); } int main () { SetConfigFlags(FLAG_MSAA_4X_HINT); - InitWindow(1920, 1080, "Interferometre de Michelson - Full HD"); + InitWindow(1920, 1080, "Interferometre de Michelson"); SetTargetFPS(60); Michelson mic = {0}; - mic.center = (Vector2){ UI_WIDTH + (1920 - UI_WIDTH) / 2.0f, 1080 / 2.0f }; - + mic.center = (Vector2){ UI_WIDTH + (1920 - UI_WIDTH) / 2.0f - 100, 1080 / 2.0f }; mic.d1 = 250.0f; mic.d2 = 250.0f; - - mic.lambda = 500.0f; + mic.lambda = 550.0f; mic.angleM1 = 0.0f; + Rectangle screenViewBounds = {1920 - 530, 50, 500, 500}; + //Rectangle screenViewBounds = {400, 0, 1080, 1080}; + while (!WindowShouldClose()) { BeginDrawing(); ClearBackground(BLACK); DrawMichelsonSchema(&mic); DrawControlPanel(&mic); + DrawInterferenceView(&mic, screenViewBounds); EndDrawing(); } CloseWindow(); diff --git a/michelson b/michelson new file mode 100755 index 0000000000000000000000000000000000000000..a6fcbeccce199d5c3375f84c4b8e0032bfeef4d8 GIT binary patch literal 121064 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