Arrow Ballistics Study | 2026
Every group-statistics number on the 2026 plots and tables begins as a clicked pixel on a target photograph. This page describes the path from a JPG impact image to an inch-space coordinate.
The same pipeline backs both the component-test restorative-lift protocol and the Front-of-Center test. There is no shooting-machine bias unique to one and not the other; whatever differences appear between tests originate in the bow setup and arrows, not in how the resulting photographs are measured.
All processing described here was done with custom-developed software written in Python.
Every photo is composed so that the same set of reference markers is visible in every frame. Together they let any photo recover its own real-world coordinate system without relying on photo-to-photo continuity. This is important because the the camera, target, or shooting machine may move slightly throughout the session.
Each impact and each reference marker listed below is marked by hand. Downstream processing reads only the resulting pixel coordinates plus the photo's embedded timestamp.
| Marker | Count | Purpose |
|---|---|---|
| floor | 2 | Leveling reference. Two marks on the floor, equidistant from the camera and level by construction. Used to recover the photo's rotation angle. |
| tape | 2 | Scale reference. Two marks on tape strips on the targets whose physical separation is measured whenever the targets are set up or moved. Used to recover the pixel-to-inch scale. |
| background | 1 | Origin reference. A fixed feature in the background that does not move between sessions, used to anchor every photo to a common (0, 0) even though the targets were taken down between groups. |
| pin | 2 | Independent check. Two pins inserted into the targets at a measured separation; their recovered inch-space distance is compared against the measured value as a sanity check on the tape reference. |
| level-check | 2+ | Independent check. Two points on a known- horizontal background line; the recovered angle between them is reported per photo as a sanity check on the floor markers. |
| fp | n | Field-point impact location. |
| bh | n | Broadhead impact location. |
| arrow | n | Generic arrow impact (used when the tip type is not distinguished). |
A single photo can contain both fp and bh impacts when two groups are shot at the same target.
Pixel coordinates from a photograph are not directly usable. The camera may have been slightly tilted, the photo's pixels-per-inch depends on how far away the camera was, and the (0, 0) of the pixel grid lives in the upper-left corner of the image rather than at any meaningful physical location. Three sequential corrections turn the pixel grid into a level, scaled, anchored inch-space.
The two floor markers are level by construction (same height above the floor, equal distance from the camera). Any vertical offset between them in pixel space is therefore due to camera tilt, and recovers the rotation angle of the photo:
Every annotation in the photo is then rotated by +θ, which puts the reference line horizontal and aligns left/right with target x and up/down with target y.
The pixel distance between the two tape marks (in the rotated coordinate space) plus their measured physical separation gives a pixels-per-inch scale factor. The two tape ends were mounted at slightly different heights, so the true straight-line distance between them is the slant length, not the horizontal width:
The background marker defines the shared (0, 0) of the inch-space coordinate system. Its rotated, scaled position in the photo is subtracted from every other annotation, so any two photos taken on different days are directly comparable in the same x/y frame even though the targets between them were taken down and reset.
After all three corrections, x increases to the right and y increases upward (the sign on the y axis is flipped from the image-pixel convention so up reads as up).
The physical distances above are measured every time the targets are set up or adjusted. Each photo automatically uses the calibration entry valid at the time the photo was taken, recovered from the photo's embedded timestamp. The four fields used are:
| Field | Description |
|---|---|
| tape_w | Horizontal distance between the two tape marks, inches. |
| tape_l_h | Height above the level reference of the left tape mark, inches. |
| tape_r_h | Height above the level reference of the right tape mark, inches. |
| pin_w | Physical distance between the two pin marks, inches. Used only by the independent verification step below. |
The conversion above produces an answer for every photo; that is not the same as producing a correct answer. Three independent checks run on every photo to detect a conversion that has gone subtly wrong, so the resulting inch-space coordinates do not depend on the tape-and-floor pipeline being trusted on faith.
The two pinmarks are physically measured at setup. The same conversion that produces arrow coordinates is applied to the pins, and the recovered inch-space distance between them is compared to the physical measurement. The percent error per photo is reported as a quality metric. Across the 2026 dataset, the tape-based pipeline recovers the physical pin distance to within ±1.3% (one standard deviation), with per-photo errors observed across the dataset spanning −2.2% to +1.8%.
A ChArUco calibration board sits in the plane of the targets in every photo, providing a second, completely independent geometry path: OpenCV detects the board's corners and computes a homography that maps pixels directly to millimeters on the target plane, without using the tape, floor, or background markers at all. The pin and tape distances are then re-measured in this independent coordinate system and converted to inches for comparison with the physical measurements and the tape-based result.
Because the ChArUco board was hand-placed and not in a fixed location across sessions, its absolute precision is lower than the tape-based pipeline. It is used only as a cross-check on the tape pipeline, never as the production source of arrow coordinates. Across the 2026 dataset, the ChArUco pipeline recovers the physical pin distance to within ±1.2% (one standard deviation), with per-photo errors spanning −4.6% to +1.8%. Both independent pipelines reach the same physical answer at comparable precision, which is what lets us trust the tape result.
Two points on a known-horizontal background line are annotated in every photo. After the rotation step from section Converting photos to inches, the angle between these two points is recovered in inch-space and reported per photo. A result close to zero confirms that the floor markers were themselves read correctly; a non-zero result is a flag to revisit the photo's annotation.
A group is the set of impacts associated with a single arrow build under a single shot condition (e.g. torqued Iron Will Wide on the Easton 5.0 / 300-spine build). Within a build, a group can pool annotations across more than one photo so that the same set of arrows can be re-shot in multiple sessions without breaking. All statistics below are computed in inch-space, after the conversions above.
Every metric is reported with a 95% confidence interval. Because per-build sample sizes are small (typically 6 to 12 arrows), CIs are computed using a t-distribution rather than the normal-distribution shortcut, which gives wider, more honest intervals at small n.
The centroid of the group:
Roughly, where the group is centered. The lateral component μx is the quantity behind every "lateral drift" plot on the plots page.
The average distance from each impact to the group centroid, regardless of direction:
Mean radius is the headline grouping metric: a small mean radius means the build prints tight groups regardless of where the centroid lands, which is the relevant question when comparing how consistently a setup flies rather than where it points.
The largest distance between any two impacts in the group:
Group size and mean radius answer slightly different questions. Mean radius averages every arrow's distance from the centroid (one bad shot is diluted by the rest); group size only looks at the worst pair (one bad shot can dominate). Both are reported.
The mean distance between every pair of arrows in the group:
A centroid-free view of how spread out the group is. Useful when comparing two groups with different shot counts, where a centroid-based metric can shift on a single arrow.
The lateral distance between the centroids of two groups shot under different conditions on the same build:
Sign is meaningful (B impacts to the right of A is positive). The 2026 restorative-lift proxy and the front-of-center test's torque-drift family of plots are all instances of this metric with different choices of A and B.
The same JPGs described here, with annotation overlays applied, are linked from the plot tooltips and from the source_images columns in the data tables. Clicking a point on a group-statistics plot or a filename in a table opens the corresponding photo(s) in a side-by-side image viewer, so the underlying evidence for every reported number is one click away.