Bạn đã bao giờ tự hỏi gương làm thế nào chưa? Nếu bạn muốn tìm đường mà ánh sáng đi khi phản xạ từ một bề mặt, bạn có thể sử dụng Nguyên lý Fermat. Điều này diễn đạt như sau:
Đường mà ánh sáng đi là đường mà mất thời gian ít nhất. Khi đi từ điểm A đến điểm B, ánh sáng sẽ di chuyển theo đường mà mất ít thời gian hơn bất kỳ lựa chọn nào khác.
Thực sự, tôi đã sử dụng ý tưởng này trong một câu hỏi cho sinh viên của mình đang học về nguyên lý biến đổi với một câu hỏi sử dụng Nguyên lý Fermat. Nó như sau:
Dưới đây là hai điểm (A và B). Ánh sáng di chuyển từ A, phản xạ từ mặt dưới và sau đó di chuyển đến điểm B. Chứng minh rằng đối với đường đi mất thời gian ít nhất, góc chiếu bằng với góc phản xạ.
Giải pháp lý tưởng (đối với sinh viên vật lý) là thiết lập một hàm cho thời gian ánh sáng di chuyển từ A đến B. Hàm này nên phụ thuộc vào vị trí (và do đó là góc chiếu và góc phản xạ) mà ánh sáng chạm vào bề mặt. Khi bạn có thời gian dưới dạng hàm của vị trí này, bạn có thể sử dụng giải tích để giảm thiểu hàm.
Nhưng tôi sẽ không thực hiện chính xác như vậy—bạn biết tôi thích pha trộn mọi thứ. Làm thế nào về một giải pháp số cho vấn đề này? Bằng "số," ý tôi là tôi sẽ tạo ra một chương trình Python mô phỏng chuyển động của ánh sáng từ A đến B. Sau đó, tôi sẽ thay đổi điểm phản xạ trên bề mặt cho đến khi có thời gian di chuyển nhỏ nhất. Điều đó sẽ thú vị.
Hãy bắt đầu với một chương trình cơ bản. Chương trình này bắt đầu với hai điểm (A và B) và một tia sáng di chuyển với tốc độ rất thấp (đủ chậm để bạn có thể thấy nó). Phía trước của ánh sáng sẽ hướng đến một điểm cụ thể nào đó trên bề mặt phía dưới—mà bạn có thể thay đổi. Khi phía trước của ánh sáng đạt đến điểm này, nó sẽ thay đổi hướng để điều chỉnh hướng đến điểm B. Khi ánh sáng đến điểm B, mọi thứ dừng lại và nó báo cáo tổng thời gian. Đó là tất cả. Đây là chương trình (nhấn "phát" để chạy).
Nếu bạn cuộn xuống trong cửa sổ đầu ra ở trên, bạn có thể thấy các góc và thời gian. Bạn có thể thay đổi vị trí của điểm trên bề mặt mà ánh sáng chạm vào một cách thủ công. Nhưng nếu bạn để nó như nó là, ánh sáng mất 2.37 giây với góc chiếu là 16.699° và phản xạ là 67.380°.
Tất nhiên, tôi không muốn thay đổi thủ công điểm phản xạ trên bề mặt—tôi quá lười biếng cho điều đó. Thay vào đó, tôi sẽ thay đổi chương trình để nó bắn ánh sáng vào một điểm nào đó và sau đó di chuyển điểm đó một chút về phía trước. Tôi sẽ làm điều này cho đến khi điểm đó chỉ ở dưới điểm kết thúc để tôi có thể vẽ biểu đồ tổng thời gian so với góc chiếu.
Dưới đây là những gì tôi nhận được. Vâng, cái này phức tạp hơn một chút—nhưng tôi đã thêm một số chú thích cho bạn (một lần nữa, nhấn "phát" để chạy nó).
Mặc dù tôi đã in ra thời gian cho ánh sáng và góc chiếu cũng như góc phản xạ, nhưng có chút khó nhìn. Đây là đồ thị của thời gian so với góc cho cùng chương trình này (tôi cũng làm cho thay đổi vị trí nhỏ hơn).
Từ đồ thị đó, nên rõ ràng rằng góc chiếu có thời gian ít nhất là khi góc chiếu bằng với góc phản xạ (tôi nghi ngờ rằng đường cong trông lồi lõm vì cách tôi tính góc). Boom—đây là Định luật Phản xạ. Hãy thử thay đổi vị trí của điểm B và xem điều gì xảy ra. Nó vẫn nên hoạt động.
Bây giờ là bài tập về nhà của bạn. Hãy xem liệu bạn có thể làm cho nó tái tạo Định luật Snell hay không. Điều này nói rằng khi ánh sáng chuyển từ một chất sang chất khác (như từ không khí vào nước), đường đi của ánh sáng sẽ thay đổi dựa trên tốc độ sáng tưởng của ánh sáng trong những chất đó. Góc chiếu và phản xạ sau đó sẽ liên quan theo phương trình sau.
Trong biểu thức này, n1 và n2 là chỉ số khúc xạ tương ứng—đây là tỷ số giữa tốc độ ánh sáng trong chân không (điều này là một hằng số) và tốc độ sáng tưởng của ánh sáng trong chất đó. Vì vậy, nếu bạn muốn biến đổi này thành một tính toán số, bạn vẫn sẽ có một tia sáng di chuyển. Tuy nhiên, khi nó vào chất thứ hai, tốc độ của ánh sáng sẽ giảm đi một chút. Vì tốc độ ánh sáng không phải là hằng số, đường đi có thời gian ngắn nhất không phải là một đường thẳng hoàn toàn. Tin tôi điều này sẽ rất thú vị.