Because light travels slower inside glass, the top of the wavefront enters the medium before the bottom and is slowed down longer by the thicker upper section—steering the entire beam downward.
<aside> 👏
<aside> <img src="/icons/download_yellow.svg" alt="/icons/download_yellow.svg" width="40px" />
Wave-Optics Modeling of Macroscopic Refraction via the Inhomogeneous Helmholtz Equation
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#1e1b4b',
'primaryTextColor': '#f8fafc',
'primaryBorderColor': '#6366f1',
'lineColor': '#38bdf8',
'secondaryColor': '#0f172a',
'tertiaryColor': '#1e293b',
'clusterBkg': '#090d16',
'clusterBorder': '#334155',
'defaultLinkColor': '#38bdf8',
'fontFamily': 'inter, system-ui, sans-serif'
}
}
}%%
graph TD
%% Main Entry Node
Start("🎯 Current Exploration: Refraction.md")
subgraph CoreDomain[" 🌌 Primary Domain: Computational Wave Optics "]
MathModel["📐 Inhomogeneous Helmholtz Equation"]
Framework["⚡ Explicit Phase-Screen Model"]
end
subgraph Implementations[" 🔬 Current Implementations "]
TriPrism["🔺 Triangular Glass Prism"]
BiLens["🔍 Biconvex Lens"]
end
subgraph Extensions[" 🚀 Potential Next Orientations "]
GeomSub["1. Advanced Geometries"]
MatSub["2. Non-Uniform Media"]
DiffSub["3. Diffraction & Scattering"]
CompSub["4. Computational Enhancements"]
end
%% Main Flow Connections
Start --> MathModel
MathModel --> Framework
Framework --> TriPrism
Framework --> BiLens
%% Future Direction Connections
TriPrism -.-> GeomSub
BiLens -.-> GeomSub
BiLens -.-> MatSub
TriPrism -.-> DiffSub
Framework -.-> CompSub
%% Sub-topic Branching
GeomSub --> Asymm("Asymmetric Lenses")
GeomSub --> Aberr("Aberration Analysis")
MatSub --> GRIN("Gradient-Index Media")
MatSub --> Disper("Chromatic Dispersion")
DiffSub --> Sharp("Apertures & Knife-Edges")
DiffSub --> Train("Multi-Element Systems")
CompSub --> NonLin("Nonlinear Media")
CompSub --> D_3D("3D Expansion")
%% Custom Class Definitions for Deep Color Palette
classDef startNode fill:#311b92,stroke:#b388ff,stroke-width:2px,color:#ffffff,rx:8,ry:8;
classDef mainDomain fill:#1a237e,stroke:#7986cb,stroke-width:2px,color:#e8eaf6,rx:6,ry:6;
classDef implNode fill:#004d40,stroke:#26a69a,stroke-width:2px,color:#e0f2f1,rx:6,ry:6;
classDef branchHeader fill:#4a148c,stroke:#ab47bc,stroke-width:2px,color:#f3e5f5,rx:6,ry:6;
classDef leafNode fill:#0f172a,stroke:#38bdf8,stroke-width:1.5px,color:#f0f9ff,rx:5,ry:5;
%% Class Assignments
class Start startNode;
class MathModel,Framework mainDomain;
class TriPrism,BiLens implNode;
class GeomSub,MatSub,DiffSub,CompSub branchHeader;
class Asymm,Aberr,GRIN,Disper,Sharp,Train,NonLin,D_3D leafNode;
<aside> 👏
</aside>