BUTTERFLY
BUTTERFLY / MOTION NOTES

The flight comes from butterflies.

The observatory replays published motion-capture measurements of Papilio polytes. The body and two forewing markers drive the particle reconstruction. This replaces the previous mathematical-trajectory experiment.

The source recordings

Qiang Chen, Tingsong Lu, Yang Tong, Yuming Fang and Zhigang Deng published A Practical Method for Butterfly Motion Capture at ACM MIG 2022. Their public dataset contains 18 short flight segments from five butterflies. The paper reports a capture rate of 500 frames per second.

The published coordinates are already processed by the authors, including missing-marker reconstruction and smoothing. They are not raw camera frames. We preserve the finite coordinates in the downloaded files.

From recorded markers to particles

Reading the controls

Follow butterfly keeps the thorax centered for a close look at flapping. Full trajectory fits the entire recorded path into the viewport; the particle anatomy is magnified to 1.2× in that view. Drag to orbit, use the zoom controls, or focus the canvas and use the arrow keys.

The default speed is 0.1×, making the recorded wingbeats easier to see. A 0.632-second capture therefore takes 6.32 seconds to replay. At the end we hold the final frame for one second, then explicitly restart that same recording. No connecting flight between the end and start is invented.

Flight speed is estimated from a centered difference of thorax positions over up to 16 frame intervals, converted from mm/s to m/s. Wing opening is the angle between the two thorax-to-wing-marker vectors. The small graph shows the mean wing-marker Z offset relative to the thorax; this is a coordinate-space readout, not an aerodynamic force.

One incomplete segment

Flight 6 contains 179 rows, with a missing forewing marker in the final 11 rows. We replay only its 168 complete frames (0.334 seconds). All 179 rows are retained in the source files and exports; JSON represents the original NaN values as null. No guessed wing positions replace the missing tail.

Reproduce and export

npm start
# http://127.0.0.1:48371

python3 scripts/prepare_flights.py
python3 butterfly.py --flight 11 --out output/flight.csv
npm run check

Browser exports contain the original recording, capture rate, coordinate units, source repository and source commit. Python CSV exports add a frame index and time in seconds. The repository includes the source TXT files and a deterministic JSON converter.

Attribution and scope

Motion measurements belong to the cited dataset authors. The repository records the source commit and file hashes. The project’s MIT code license does not relicense third-party scientific data. See the source repository for its published terms.

The website format was inspired by flycoinrh. This project contains butterfly motion data, not fruit-fly neural data. It is independent of the researchers and original project authors.

Return to the flight observatory ↗