# Blackbody Lab — original standalone prototype This prototype was written from scratch for STUCK IN PHYSICS. No SimuPhysics code, models, screenshots or styling were reused. ## Try it Open index.html in a current browser. Keep logo.png beside it. No installation, account, internet connection or external library is required. If using the ZIP, extract the folder first. ## Included - Temperature slider and numerical input: 300–12,000 K. - Ideal-blackbody temperature presets. - Three removable reference curves. - Wavelength windows extending into the thermal infrared. - Optional visible band and peak marker. - Automatic or locked vertical scaling, with clipping notice. - Peak wavelength, total radiant exitance and visible power fraction. - Responsive layout, keyboard-operable native controls and textual numerical results. ## Physics The plotted quantity is spectral radiant exitance per wavelength, integrated over the outward hemisphere: $$M_\lambda(T)=\dfrac{2\pi hc^2}{\lambda^5}\dfrac{1}{\exp(hc/(\lambda k_B T))-1}.$$ The graph uses micrometres horizontally and MW m^-2 micrometre^-1 vertically. Internally wavelength is converted to metres; spectral values per metre are converted consistently to per micrometre and MW. Total emitted power per unit surface area is sigma*T^4 across all wavelengths. It is not the integral over only the displayed window. Visible fraction is the numerical integral from 0.38 to 0.75 micrometres divided by that total. The visible endpoints are approximate, not strict biological cutoffs. Peak wavelength uses b/T with b=2.897771955e-3 m K. Constants h, c and k_B use exact SI values. sigma=5.670374419e-8 W m^-2 K^-4. Emissivity is fixed at 1. No surrounding-temperature subtraction is made: the display is emitted power, not net radiative heat transfer. Absolute values are preserved; no curve is independently normalised. Auto-scale changes the axis limits, and this is explicitly indicated. Holding a reference curve helps compare temperatures. Locking the axis can clip a hotter curve; the interface warns about this. References: - https://openstax.org/books/university-physics-volume-3/pages/6-1-blackbody-radiation - https://physics.nist.gov/cuu/Constants/ ## Verification and remaining work 16 numerical checks passed, including peak location, full-spectrum numerical integration versus sigma*T^4 at four temperatures, visible-fraction bounds and pointwise hotter/cooler ordering. See verification.json. Script syntax was checked. Live browser preview could not connect to the local server in this session. Visual, responsive and interaction behaviour still need browser acceptance testing before production. This is a reviewable prototype, not a published site change. The initial version deliberately includes only wavelength spectra. A frequency view must calculate M_nu separately and use its own units and peak; changing wavelength labels to frequency labels is incorrect. Possible later additions: correctly transformed frequency view; hover/touch readouts; export graph/data; a validated visual approximation of body colour; guided IB questions; full accessibility testing. ## Website integration No changes have been made to the live website or its GitHub repository. After review, the code can become a dedicated simulation page in the existing site. A separately hosted page could alternatively be embedded using an iframe. A standalone simulation is not pasted into the current blog HTML editor: that editor sanitises scripts. We would add a supported route/component or a deliberately allowed embed. No external embedding licence was established for the reference site. For embedding their original, request an authorised embed option from its owner and confirm browser frame restrictions. A public simulation page is not itself an embedding licence. ## Revision 2 — IB graph clarity Added a genuine vertical axis title and units. Replaced stepped nice-number axis ceilings with a continuously fitted maximum (12% headroom). This avoids the sudden peak drops caused by jumping between axis ceilings. With references saved, all curves share the scale of the tallest visible curve. Fixed-axis mode is retained for demonstrating physical increases in height. The interface explicitly explains that automatic axis rescaling is not physical normalisation. Added IB-focused graph interpretation prompts.