A planet of radius Rp orbits a star of radius R★ on a circular orbit of semi-major axis a, tilted by inclination i from face-on (i = 90° is edge-on — line of sight lies in the orbital plane). Kepler's third law fixes the orbit size from the period and stellar mass:
a [AU] = (P [yr])^(2/3) · (M★ [M☉])^(1/3)
Projected onto the sky, the planet's position is X = a·sin θ, Z = a·cos θ·cos i, with line-of-sight offset Y = a·cos θ·sin i (transit only possible while Y > 0, i.e. planet in front). The sky-plane separation from star centre is ρ = √(X²+Z²); at inferior conjunction (θ=0) this is the impact parameter b = (a/R★)·cos i. No transit occurs at all once b > 1 + Rp/R★ — that is exactly why low inclinations show a flat light curve.
The dip itself comes from the exact overlap area of two disks (star, planet) separated by ρ, using the standard circle–circle intersection (lens) formula — this correctly reproduces both full transits (flat-bottomed, depth = (Rp/R★)²) and grazing transits (shallow, rounded, partial overlap only):
F(θ) = 1 − Area_overlap(R★, Rp, ρ(θ)) / (π·R★²)
- Transit view (top) — the star disk with the planet's true sky-projected path traced as a dashed ellipse; the ellipse flattens toward a line as inclination approaches 90° (edge-on) and opens into a circle that misses the star as it drops toward face-on.
- Light curve (bottom) — relative brightness vs. elapsed time, scrolling in real time; the dip width is set by orbital speed (via Kepler's law) and the transit chord length, exactly like real Kepler/TESS photometry.