پایستگیِ تکانه از آن قانونهایی است که هیچ استثنایی برایش پیدا نشده: از برخوردِ دو ساچمه تا انفجارِ ستاره. ولی «هیچ استثنایی ندارد» را کسی به تو هدیه نمیدهد — باید در آزمایشگاه ببینی. مشکل این است که روی میز، اصطکاک همیشه یک تکهٔ تکانه را میدزدد. ریلِ هوا دقیقاً برای همین ساخته شد: یک لولهٔ سوراخدار که هوا از آن بیرون میزند و گاری را چند دهم میلیمتر بالای سطح شناور نگه میدارد.
وقتی دو گاری به هم میخورند، نیرویی که به هم وارد میکنند طبق قانون سوم نیوتن قرینهٔ هم است، پس تکانهای که یکی میگیرد دقیقاً همانی است که دیگری از دست میدهد. نتیجه: m₁u₁ + m₂u₂ = m₁v₁ + m₂v₂، صرفنظر از اینکه برخورد چطور اتفاق افتاده باشد.
انرژیِ جنبشی داستانِ دیگری دارد. در برخوردِ کِشسان (فنر یا آهنرباهای دفعکننده) انرژی هم میماند و میشود هر دو سرعتِ نهایی را حساب کرد: v₁ = (m₁−m₂)/(m₁+m₂)·u و v₂ = 2m₁/(m₁+m₂)·u. در برخوردِ کاملاً ناکِشسان (چسب) دو گاری با هم میروند و نسبتِ انرژیِ باقیمانده فقط m₁/(m₁+m₂) است. آن انرژی گم نشده — به گرما و صدا و تغییرشکل رفته. پس اگر دیدی انرژیِ جنبشی کم شده، آزمایشت خراب نشده است.
یک ریلِ هوای ۲٫۴ متری با دو چشمِ نوری، هرکدام ۳۰ سانتیمتر از نقطهٔ برخورد فاصله دارد. گاریِ دوم وسط ریل ساکن است و گاریِ اول را با سرعتِ دلخواه به سمتش پرتاب میکنی. هر گاری که از یک چشم رد شود سرعتش ثبت میشود. جرمها را خودت انتخاب میکنی و دقیقاً هماناند که نوشته شده — با ترازو وزن شدهاند.
چشمهای نوری با خطچینِ قرمز نشان داده شدهاند.
اول چند برخورد در یک جهت بگیر. بعد دقیقاً همانها را در جهتِ مخالف تکرار کن و دو ستون را با هم مقایسه کن.
trials_data هستند — فهرستی از دیکشنری با کلیدهای dir، m1، m2، u، v1 و v2 (سرعتها علامتدارند). فاصلهٔ چشم تا نقطهٔ برخورد بالای کد در D تعریف شده است.
کدِ آماده دو کار میکند. اول دو جهت را جدا رسم میکند تا ببینی خطا فقط بزرگ نیست، علامتدار است. بعد دنبالِ شتابِ کوچکی میگردد که اگر از دادهٔ هر دو جهت برش داری، هر دو روی پایستگیِ کامل بنشینند — و همان شتاب به تو میگوید ریل چند درجه کج بوده.
وقتی روی یک جواب ایستادی، این را بزن.