1require_relative "../physics"23question :into_air do4 describes "Light leaves a medium of index %{index} for air at %{angle}. Does every medium have %{critical_angle}?"5 given :index6 given angle: "30 deg"7 asks critical_angle: "its own angle"8end
1require_relative "../questions/into_air"2require_relative "../science/ray_optics_and_optical_instruments/reflection"3require_relative "../science/ray_optics_and_optical_instruments/refraction"4require_relative "../science/ray_optics_and_optical_instruments/refractive_media"56solve :into_air, using: [ Reflection, Refraction ] do7 take index: :mu_1, angle: :i8 deduce_from "air", mu_2: REFRACTIVE_MEDIA.fetch("air")9 take critical_angle: :c10 find_value :critical_angle11 find_value :r_r12 find_whether :no_refracted_ray?1314 conclusion "Every medium has one of its own, and the denser the medium the sooner it stops letting light out."15end
1require_relative "../solutions/into_air"2require_relative "../science/ray_optics_and_optical_instruments/refractive_media"3require_relative "../pictures/light"45play_with :into_air do6 title "Into Air"78 input :from, REFRACTIVE_MEDIA, default: "water"910 input(:mu_1) { from }1112 output :c13 output :r_r14 output :no_refracted_ray?, alarm: true1516 draw Light::Picture, rising: true do17 media :from, "air"18 ray "incident", arriving_at: :i, angle: true19 ray "reflected", leaving_at: :r_l20 ray "refracted", crossing_at: :r_r, angle: true, unless: :no_refracted_ray?21 mark "critical", arriving_at: :c22 note "all of it turns back", when: :no_refracted_ray?23 end24end