---
title: Projectile Data Lab (PDL) Framework
url: https://www.emergentmind.com/topics/projectile-data-lab-pdl
type: topic
---

# Projectile Data Lab (PDL) Framework

Projectile Data Lab (PDL) is a designation used across several projectile-centered instructional and research settings. In introductory mechanics, it denotes laboratory workflows built around Tracker video analysis and video-modeling for projectile motion [1206.6489], a Python/Jupyter framework for analytical simulation, parameter-space maps, and iso-curves [2601.05769], and a purpose-built PhET simulation integrated with the Common Online Data Analysis Platform (CODAP) to teach measurement uncertainty in a projectile context [2509.25769]. In a separate but related usage, PDL also appears as an entry or ingestion framework for projectile-related datasets and models, including heavy-ion fragment momentum distributions [2103.10691], projectile fragmentation cross-section libraries [1108.4351], dense-suspension impact rheology [1904.11627], and hypervelocity launcher performance data [2206.15003]. This suggests that PDL functions not as a single canonical software package, but as a recurring data-centric framework for organizing projectile experiments, simulations, and model comparisons.

## 1. Scope and principal usages

The available literature uses the term “Projectile Data Lab” in multiple technically distinct ways. In the pedagogical literature, PDL refers to lab environments in which students collect, fit, and interpret projectile-motion data. In the data-archival and modeling literature, it refers to structured entries or implementation guides for projectile-related observables, equations, and comparison workflows.

| Usage | Core platform | Stated emphasis |
|---|---|---|
| Tracker-based PDL | Tracker / Open Source Physics | Video-analysis, video-modeling, misconception testing |
| Python-based PDL | Jupyter notebook with Python visualizations | Analytical trajectories, parameter-space maps, iso-curves, reproducibility |
| PhET/CODAP PDL | PhET simulation with CODAP integration | Measurement uncertainty, noise, repeated trials, statistical analysis |
| PDL entry / library usage | Structured data summaries and model formulae | Cross sections, momentum distributions, launcher data, impact rheology |

A plausible implication is that PDL is best understood as an organizational label for projectile phenomena that are treated through explicit data acquisition, export, model fitting, and iterative comparison rather than through a single disciplinary definition.

## 2. Tracker-based projectile-motion laboratory

The Tracker-based PDL is described as a workflow combining video-analysis and video-modeling for projectile motion [1206.6489]. The video-analysis side consists of importing any video of a projectile, calibrating spatial scale with a known reference, digitizing the projectile’s centroid frame by frame, and recording time stamps together with \(x\) and \(y\) positions. The video-modeling side consists of building a dynamic-particle model from the measured initial conditions, defining forces and mass, overlaying the simulated trajectory onto the real video, and adjusting parameters such as \(v_0\), launch angle \(\theta\), \(g\), and drag coefficient \(k\) to refine the fit.

The kinematic model is the standard ideal projectile decomposition:
\[
x(t)=x_0+v_{0x}t,
\qquad
y(t)=y_0+v_{0y}t-\tfrac12 g t^2,
\]
with
\[
v_{0x}=v_0\cos\theta,
\qquad
v_{0y}=v_0\sin\theta.
\]
Tracker’s fitting operations are used directly on the measured data. In the \(X\)-vs-\(t\) plot, a line fit returns
\[
x(t)=a_x t+b_x,
\]
with \(a_x=v_{0x}\) and \(b_x=x_0\). In the \(Y\)-vs-\(t\) plot, a parabola fit returns
\[
y(t)=a_y t^2+b_y t+c_y,
\]
with \(a_y=-\tfrac12 g\), \(b_y=v_{0y}\), and \(c_y=y_0\). The cited example gives \(a_x=1.733\,\mathrm{m/s}\), \(b_x=-0.005\,\mathrm{m}\), \(a_y=-5.038\), \(b_y=2.379\,\mathrm{m/s}\), and \(c_y=-0.003\,\mathrm{m}\), implying \(g=10.08\,\mathrm{m/s^2}\). From the fitted components, the launch speed and launch angle are computed as
\[
v_0=\sqrt{v_{0x}^2+v_{0y}^2},
\qquad
\theta=\arctan\!\left(\frac{v_{0y}}{v_{0x}}\right).
\]

The guide is explicit about experimental setup. The camera or tripod is mounted so that the flight plane is roughly perpendicular to the lens; a calibration stick is placed in the same plane as the trajectory; minimal parallax is ensured by keeping the camera axis level with the flight plane. The capture recommendations are frame rate \(\ge 30\) fps, preferably \(60\) fps, resolution \(\ge 720\) p, full-flight field of view, and good lighting with high contrast. Tracking can be manual through a “Point Mass” and “Manual Tracking,” or automatic with “Auto Tracker” when the object has a distinctive color marker. Raw data are exported through `Data ▶ Export ▶ ASCII` as a `.csv` file, after inspection for outliers and mis-clicks.

A central pedagogical function of this PDL is misconception testing. The guide identifies three recurrent misconceptions: a “need for a horizontal force” (“Impetus Theory”), the idea that an upward force sustains vertical motion, and the expectation of significant air resistance in low-speed tosses. In the prescribed workflow, students deliberately set \(F_x\neq 0\), \(F_y>0\), or \(F_{\rm drag}=-kv\) and observe that the overlaid model diverges from the measured motion. Iterating to \(F_x=0\,\mathrm{N}\), \(F_y=-mg\), and \(k\approx 0\) yields the correct overlay. The guide therefore frames juxtaposition of model and video as immediate visual evidence for Newton’s First Law and for the dominance of gravity in classroom projectile experiments. Assessment practices include submission of fitted parameters and uncertainties, computed \(v_0\) and \(\theta\), and reflections on how altering \(F_x\) or \(F_y\) changed the fit.

## 3. Computational PDL in Python and Jupyter

A second formulation of PDL is a computational and pedagogical framework based on Python visualizations and reproducible simulations [2601.05769]. Its analytical background assumes the absence of air resistance under uniform gravity \(g\). With launch speed \(v_0\) and angle \(\theta\),
\[
v_{0x}=v_0\cos\theta,\qquad v_{0y}=v_0\sin\theta,
\]
and
\[
x(t)=v_0\cos\theta\,t,\qquad
y(t)=v_0\sin\theta\,t-\tfrac12 g t^2.
\]
Eliminating \(t\) yields
\[
y(x)=x\tan\theta-\frac{g}{2v_0^2\cos^2\theta}\,x^2,
\]
which is a parabola \(y(x)=Ax^2+Bx\) with
\[
A=-\frac{g}{2v_0^2\cos^2\theta},\qquad B=\tan\theta.
\]
From this formulation,
\[
H=\frac{v_0^2\sin^2\theta}{2g},
\qquad
R=\frac{v_0^2\sin(2\theta)}{g},
\qquad
T=\frac{2v_0\sin\theta}{g}.
\]

The implementation guide centers on a Jupyter notebook named **ProjectileDataLab.ipynb**. The notebook imports `numpy` and `matplotlib`, sets \(g=9.81\), and defines helper functions `trajectory_xy`, `max_height`, and `horizontal_range`. It then plots multiple trajectories as functions of launch angle for fixed \(v_0\), and as functions of initial speed for fixed \(\theta\). The framework extends from individual trajectories to \((\theta,v_0)\) parameter-space maps constructed with `np.meshgrid`, yielding arrays
\[
H(\theta,v_0)=\frac{v_0^2\sin^2\theta}{2g},
\qquad
R(\theta,v_0)=\frac{v_0^2\sin(2\theta)}{g}.
\]
These are rendered as filled contours of range and height.

A distinctive feature is the treatment of iso-outcome curves. For a fixed target range \(R^*\) or target height \(H^*\), the guide solves for the launch speed as a function of angle:
\[
v_0(\theta;R^*)=\sqrt{\frac{gR^*}{\sin(2\theta)}},
\qquad
v_0(\theta;H^*)=\sqrt{\frac{2gH^*}{\sin^2\theta}}.
\]
The interpretation given in the guide is that the iso-range curve has two branches, \(\theta\) and \(90^\circ-\theta\), because \(\sin 2\theta\) is symmetric; by contrast, the iso-height curve has only one branch because \(\sin^2\theta\) is monotonic on \([0,90^\circ]\). The reference point \((\theta_0,v_0)=(45^\circ,20)\) is reproduced at the intersection of the iso-range and iso-height curves.

Reproducibility is made explicit. Parameter sweeps are performed via `np.linspace`. No random numbers are used in the core PDL; if randomness is introduced, for example through wind gusts, the guide specifies `np.random.seed(12345)`. Results are flattened into a `pandas` `DataFrame` with columns `"theta_deg"`, `"v0"`, `"H"`, and `"R"` and exported to `PDL_parameter_space.csv`. Version control is recommended through Git or GitHub with a `requirements.txt` including `matplotlib==3.x`, `numpy==1.x`, and `pandas==1.x`. Pedagogical activities include parameter sensitivity near \(\theta=45^\circ\), inversion for \(g\) from measured \((\theta,v_0,R_{\rm meas})\), and an extension in which a drag term \(b\,v^2\) is added in an ODE solver via `scipy.integrate.odeint`.

## 4. Noise-enhanced PhET/CODAP PDL and measurement uncertainty

A third major usage of PDL is a purpose-built PhET simulation integrated with CODAP, designed specifically to teach measurement uncertainty in introductory physics [2509.25769]. Its explicit pedagogical aim is to give students a deep, practice-based understanding of measurement uncertainty. The learning goals include representing and quantifying variability through repeated measurements, histograms, data tables, and summary statistics; distinguishing single-trial versus multi-trial uncertainty; interpreting “\(\pm\)” notation and error bars in terms of probability and confidence intervals; identifying sources of random uncertainty; and using measurement tools such as a tape measure, stopwatch, and interval selection. Advanced goals include exploring how sample size affects precision, propagating uncertainties through functions, and fitting histograms with Gaussian curves. These goals are tied to the SPRUCE assessment objectives and to additional instructor-articulated needs.

The technical core of the simulation is an explicit noise model. Launch speed and launch angle are drawn from independent Gaussian distributions around user-selected nominal values:
\[
v=v_0+\mathcal N(0,\sigma_v^2),
\qquad
\theta=\theta_0+\mathcal N(0,\sigma_\theta^2).
\]
Six “mystery” launchers have pre-configured \((v_0,\sigma_v)\) and \((\theta_0,\sigma_\theta)\) parameters that students infer experimentally, while custom launchers on the “Sources” screen allow users to set mechanism type and angle-stabilizer range. The measurement environment includes a field grid and measuring tape for landing position, a stopwatch for time-of-flight, a histogram of landing distances with adjustable bin width, a toggle between stacked data blocks and solid bars, an Interval Tool for computing the percentage of shots inside a selected range, dynamic overlays of \(\bar x\) and \(\sigma\), and a heat map showing density of launch speed/angle combinations.

The simulation is scaffolded across four screens. “Variability” is used to compare six mystery launchers and inspect raw variability. “Sources” allows the launcher to be “opened up” and custom launchers to be created to probe the physical origins of \(\sigma_v\) and \(\sigma_\theta\). “Measures” is the main screen for visualizing and quantifying mean, \(\sigma\), standard error, and percentages in intervals. “Sampling” is an advanced screen in which samples of size \(n=2,5,15,40\) are used to plot sampling distributions and standard errors.

Integration with CODAP is implemented through PhET-iO. Every launch is exposed as a JavaScript API event. Before launching, selected setup variables and measured variables are checked in a side panel; on each launch, the API sends the chosen variables as a new row to CODAP’s “Simulation Data” table. CODAP then provides live-updating tables, drag-and-drop plots, linked selection across representations, standard-error displays as bars spanning \(\pm n\cdot \mathrm{SE}\), and an optional Gaussian least-squares fit over histograms showing fitted \(\mu\), \(\sigma\), and fit uncertainties. If a variable is not checked, it is omitted, thereby mimicking real-world failure to record data.

The three lab activities are structured around a 5-minute open exploration and a Predict–Gather & Analyze–Conclude/Reflect cycle. Lab 1, “Uncover the inner workings of mystery launchers,” emphasizes single-shot measurement, instrument-limited uncertainty, repeated launches, and matching a custom launcher to a mystery launcher’s distribution. Lab 2, “Firing projectiles as far as possible,” treats the dependence of \(\sigma\) and \(\sigma/\sqrt{N}\) on sample size and asks students to justify a one-shot strategy in a “science competition.” Lab 3, “Advanced topics in measurement uncertainty,” uses the small-angle approximation at \(\theta=0^\circ\), \(d\approx v\cdot t\), and propagates uncertainty via
\[
\Delta d=\sqrt{(t\,\sigma_v)^2+(v\,\sigma_t)^2}.
\]
Students then compare the propagated uncertainty to empirical \(\sigma(d)\) and use a Gaussian fit to compute probabilities \(P(d\in[a,b])\). The implementation notes state that, because the noise adds genuine complexity, this PDL is best introduced after students are comfortable with ideal projectile motion.

## 5. PDL as a data-ingestion and model-library framework in projectile science

Outside introductory mechanics, PDL also appears as a structured entry or cross-section library for projectile-related research data. One example is a PDL entry for momentum distributions of projectile fragments from heavy-ion peripheral collisions at \(15\) MeV/nucleon [2103.10691]. The entry reports experimental conditions for \(^{86}\mathrm{Kr}^{16+}\) beams on \(^{64}\mathrm{Ni}\) and \(^{58}\mathrm{Ni}\) targets, together with MARS separator specifications including momentum acceptance \(\Delta p/p\simeq \pm2\%\), angular acceptance \(\Delta\theta_x\times\Delta\theta_y\simeq 5\) msr, and mass resolving power \(M/\Delta M\simeq 300\) (FWHM). The momentum-distribution shapes are stated to be well described by Gaussians,
\[
\frac{d\sigma}{dp}=
\frac{\sigma_{\rm tot}}{\sqrt{2\pi}\,\sigma_p}
\exp\!\left[-\frac{(p-\langle p\rangle)^2}{2\sigma_p^2}\right],
\]
with \(\sigma_{\rm tot}\equiv \sigma_{\rm exp}\). The entry also records DIT, CoMD, and GEMINI model details, theoretical cross-section comparisons, and a CSV-formatted table for PDL ingestion. It reports that enhancement of trans-projectile isotopes \((Z>36, A>86)\) is observed experimentally and is well reproduced by CoMD+GEMINI.

A second example is a PDL-oriented cross-section library for projectile fragmentation [1108.4351]. The summarized model has three stages: abrasion, disintegration through the Canonical Thermodynamic Model (CTM), and sequential evaporation. Its main methodological novelty is the impact-parameter-dependent temperature ansatz
\[
T(b)=D_0+D_1\frac{A_s(b)}{A_0}.
\]
Recommended parameters are \(D_0\approx 7.5\) MeV and \(D_1\approx -4.5\) MeV globally, and \(D_0\approx 7.2\) MeV and \(D_1\approx -3.2\) MeV for best \(M_{\rm IMF}\) versus \(Z_{\rm bound}\) in Sn+Sn. The integration notes explicitly describe how straight-line abrasion geometry, tabulated \(A_s(b)/A_0\), CTM modules, and evaporation modules can be assembled into a PDL cross-section library, while also listing limitations for very light systems and for low-energy regimes.

PDL summaries have also been prepared for strongly non-ideal projectile dynamics. In the dense-suspension impact study, an \(8\) mm iron-steel sphere of mass \(m_p\simeq 2.14\times 10^{-3}\) kg is dropped onto a potato-starch suspension layer, and high-speed imaging at \(12\,000\) fps is used to extract \(z(t)\), \(v(t)\), and \(a(t)\) [1904.11627]. The restitution coefficient is defined as \(\varepsilon=|v_{\rm res}/v_0|\), and for \(H=20\) mm the reported value is \(\varepsilon\simeq 0.12\pm0.02\); the rebound timescale is \(\tau\simeq 1.6\pm0.2\) ms. A Kelvin–Voigt model,
\[
m_p\frac{d^2 z}{dt^2}=-k_D z-\eta_D D_p\frac{dz}{dt},
\]
is then used to estimate effective modulus and viscosity. The reported typical values are \(E_{\rm eff}=2.3\pm0.5\times 10^6\) Pa, \(\eta_{\rm eff}=3.5\pm0.7\times 10^2\) Pa·s, and \(\eta_{\rm late}=3.7\pm1.2\) Pa·s. The same summary notes that moderate vertical vibration at \(120\) Hz up to \(\Gamma\approx 20\) does not significantly affect the effective viscoelastic response.

In hypervelocity launch research, the PDL-relevant summary concerns an implosion-driven launcher (IDL) capable of launching \(8\) mm ZK60-T5 magnesium projectiles of mass \(m\approx 0.36\) g to \(10.4\) km/s [2206.15003]. The \(8\) mm-bore launcher has total length \(L_{\rm total}\approx 0.91\) m, uses helium at \(P_0\approx 4.1\) MPa, and reaches a stagnation pressure of approximately \(5\) GPa. Down-bore velocimetry by Photonic Doppler Velocimetry records \(v(t)\) up to \(7.8\) km/s in \(\Delta t\approx 12\,\mu\)s for a smaller projectile, while exit-velocity measurements for the \(0.36\) g projectile give \(10.4\) km/s and \(10.2\) km/s on two shots, corresponding to \(\Delta v\approx \pm0.1\) km/s. The associated quasi-one-dimensional internal ballistics solver uses conservation equations for mass, momentum, and energy with an ideal-gas EOS for helium, plus non-ideal modules for reservoir expansion and wall ablation. A geometrically scaled \(25\) mm-bore concept is projected to launch \(m\approx 11\) g projectiles at approximately \(10\) km/s.

## 6. Common methodological themes and interpretive issues

Across these uses, PDL is consistently associated with direct linkage between measured data and explicit models. In the Tracker workflow, students extract \(x(t)\) and \(y(t)\), fit them, and overlay a dynamic-particle model on the video [1206.6489]. In the Python framework, analytical equations are instantiated as executable code, swept across \((\theta,v_0)\) space, and exported as reproducible datasets [2601.05769]. In the PhET/CODAP platform, each launch becomes a structured event that can be histogrammed, filtered, grouped, and fitted [2509.25769]. In the heavy-ion, fragmentation, rheology, and hypervelocity summaries, PDL is used to collect equations, metadata, CSV schemas, and experiment–theory comparisons in a form ready for direct inclusion or implementation [2103.10691; 1108.4351; 1904.11627; 2206.15003].

The treatment of uncertainty is another cross-cutting theme, but it is not uniform across implementations. In Tracker and the Python framework, the reference problem is largely ideal projectile motion, with attention to fitting, outlier inspection, and parameter extraction. In the PhET/CODAP PDL, variability is deliberately injected through Gaussian noise in \(v\) and \(\theta\), and finite instrumental precision is part of the learning target. In the nuclear-physics and launcher summaries, uncertainty appears in quoted statistical and systematic errors, fit deviations, separator acceptance, repeatability, and model-experiment residuals. This suggests that PDL is not restricted to either deterministic mechanics or stochastic lab practice; rather, it accommodates both, depending on whether uncertainty is treated as nuisance, signal, or the object of instruction itself.

A common misconception would be to identify PDL exclusively with ideal parabolic motion. The literature does not support that reduction. Some PDL instantiations do indeed focus on the elementary equations of projectile motion and on standard misconceptions such as the supposed need for a horizontal force. Others are explicitly built around noise, standard error, and Gaussian fits, while still others concern multinucleon transfer, dynamically jammed suspension impact, or explosively driven internal ballistics. A plausible implication is that PDL names a methodological family whose unifying feature is the laboratory-style treatment of projectile phenomena through measurable observables, parameterized models, and data export rather than a single physical regime.

In pedagogical terms, the sequence across the educational variants is also notable. The Tracker guide recommends beginning with pure video analysis and then moving to modeling; the Python framework moves from analytical derivation to simulation and parameter-space reasoning; the PhET/CODAP environment adds noise, statistics, and uncertainty after students are comfortable with ideal motion. Read together, these implementations outline a progression from kinematic extraction, to analytical generalization, to statistical inference. This progression is not stated as a universal curriculum, but the published designs indicate a coherent trajectory from deterministic modeling to uncertainty-aware experimentation within the broader PDL concept.

Source: https://www.emergentmind.com/topics/projectile-data-lab-pdl