{"version":3,"sources":["webpack:///./src/components/physics/optics/refraction/Refraction.vue?82d9","webpack:///./src/components/physics/optics/refraction/Refraction.vue","webpack:///./src/components/physics/optics/refraction/Boxes.js","webpack:///src/components/physics/refraction/Refraction.vue","webpack:///./src/components/physics/optics/refraction/Refraction.vue?028d","webpack:///./src/components/physics/optics/refraction/Refraction.vue?0139"],"names":["ref","_vm","attrs","_c","staticStyle","_v","staticClass","staticRenderFns","_self","Boxes","box1","brd1","JXG","JSXGraph","initBoard","boundingbox","keepaspectratio","axis","ticks","grid","showCopyright","showNavigation","pan","enabled","zoom","options","layer","suspendUpdate","makeResponsive","placeTitle","l1","placeLine","n","placeDash","path","placeArc","I","create","name","visible","fixed","size","N","fillColor","inverse","O","L","placeGlider","n_1","placeAngle","X","Y","placeSlider","n_2","s","Value","Math","abs","sin","Geometry","angle","toFixed","B","_defineProperty","face","C","cos","asin","strokeColor","strokeWidth","lastArrow","type","radius","color","fillOpacity","unsuspendUpdate","created","_this","$store","commit","title","newTopics","img","action","goto","newshowhome","newPhys","newLeftArrow","newModule","mounted","MathJax","Hub","Queue","component"],"mappings":"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","file":"js/chunk-18f729fa.05ad4187.js","sourcesContent":["export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Refraction.vue?vue&type=style&index=0&id=a9904800&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h3',{ref:\"def\"},[_vm._v(\"\\n What is Refraction?\\n \")]),_c('p',[_vm._v(\"\\n Refraction refers to the bending of light (change in its direction of propagation) as it moves from one transparent medium to another medium.\\n Shown below is an example of refraction of light as it goes from one medium (air) to another medium (glass).\\n You can notice the change in direction of propagation of light.\\n \")]),_c('div',{attrs:{\"align-center\":\"\",\"justify-center\":\"\"}},[_c('v-layout',{attrs:{\"justify-center\":\"\"}},[_c('v-img',{attrs:{\"src\":\"/assets/refraction.png\",\"max-height\":\"350px\",\"max-width\":\"350px\",\"width\":\"400px\"}})],1),_c('h5',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"\\n Figure: Refraction of light as it travels from air into glass. Notice the bending of light.\\n \")])],1),_c('p'),_c('h3',{ref:\"cause\"},[_vm._v(\"\\n Cause of Refraction\\n \")]),_vm._m(0),_c('h3',{ref:\"law\"},[_vm._v(\"\\n Law of Refraction: Snell's Law\\n \")]),_c('p',[_vm._v(\"\\n Snell's law describes the relationship between the incident angle and the refracted angle as light passes from one medium to another. Let \\\\(i_a\\\\) be the incident angle (measured from the interface normal) and let \\\\(r_a\\\\) be the refracted angle (also measured from the interface normal). Then, according to Snell's law, the ratio of the sines of the indicent angle (\\\\(i_a\\\\)) and refracted angle (\\\\(r_a\\\\)) is same as the ratio of velocities of light in the two media, i.e.\\n $$ \\\\frac{\\\\sin r_a}{\\\\sin i_a} = \\\\frac{v_2}{v_1}$$\\n Now, the ratio of light velocities in the two media are related as:\\n $$\\\\frac{v_1}{v_2} = \\\\frac{\\\\mu_2}{\\\\mu_1}$$\\n Thus, in terms of refractive indices of the two media, the Snell's law can be written as:\\n $$ \\\\frac{\\\\sin r_a}{\\\\sin i_a} = \\\\frac{\\\\mu_1}{\\\\mu_2}$$\\n Or equivalently,\\n $$ \\\\mu_1 \\\\sin i_a = \\\\mu_2 \\\\sin r_a$$\\n \")]),_c('br'),_c('h3',{ref:\"playgraph\"},[_vm._v(\"\\n MagicGraph | Refraction of Light\\n \")]),_c('p',[_vm._v(\"\\n This MagicGraph offers a visually interactive module that explains refraction of light.\\n Shown is a ray of light travelling from medium 1 (with refraction index =\\\\(\\\\mu_1\\\\)) to medium 2 (with refraction index = \\\\(\\\\mu_2\\\\)).\\n The refraction indices \\\\(\\\\mu_1\\\\) and \\\\(\\\\mu_2\\\\) of these media can be changed by using the sliders.\\n \")]),_c('h5',[_vm._v(\"To Get Started \")]),_vm._m(1),_c('v-responsive',[_c('v-layout',{attrs:{\"justify-center\":\"\"}},[_c('div',{staticClass:\"edliy-box-about\",attrs:{\"id\":\"jxgbox1\"}})])],1)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\"\\n Refraction is a consequence of the fact that as light goes from one medium to another medium with a different refractive index, both the speed and the wavelength of light change. Thus, in order to maintain the continuity of the wavefront at the interface, light has to bend and change its direction of propagation.\"),_c('br'),_vm._v(\"\\n The extent and direction of bending (towards or away from the normal) depends on the extent to which the speed (and wavelength) change, which depends on the refractive index of the two media. The following two scenarios are possible:\\n \"),_c('br'),_c('ul',{staticClass:\"a\"},[_c('li',[_vm._v(\" Light moving from a medium of lower refractive index to a medium of higher refractive index: in such a case both the speed and the wavelength of light decrease. \")]),_c('li',[_vm._v(\" Light moving from a medium of higher refractive index to a lower refractive index: in such cases both the speed and the wavelength of light increase.\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_c('ul',{staticStyle:{\"list-style-type\":\"square\"}},[_c('li',[_vm._v(\" Use the two sliders to change the refractive indices of two media:\\\\(\\\\mu_1\\\\) and \\\\(\\\\mu_2\\\\)\")]),_c('li',[_vm._v(\" Drag the laser pointer to change the incident angle. Press on the laser button to turn the light on. \")])])])\n}]\n\nexport { render, staticRenderFns }","// Import the edliy_utils\r\nimport {\r\n makeResponsive,\r\n placeTitle,\r\n placeImage,\r\n placeInput,\r\n placeSlider,\r\n hoverMe,\r\n placeRec,\r\n hiddenPt,\r\n fixedPt,\r\n clearInputFields,\r\n dragMe,\r\n placeArrow,\r\n placeGravity,\r\n placeText,\r\n placeLine,\r\n placePoint,\r\n placeGlider,\r\n placeRuler,\r\n placeLeftText,\r\n placeCircle,\r\n placeAngle,\r\n placeDash,\r\n placeLabel,\r\n placeArc\r\n} from '../../../../common/edliy_utils';\r\nconst Boxes = {\r\n box1: function () {\r\n var brd1 = JXG.JSXGraph.initBoard('jxgbox1',{boundingbox: [-8, 8, 8,-8],keepaspectratio: true, axis:false, ticks:false, grid:true, showCopyright:false, showNavigation:false, pan:{enabled:false}, zoom:{enabled:false}});\r\n\tbrd1.options.layer['image']=15;\r\n\tbrd1.options.layer['polygon']=1;\r\n\tbrd1.options.layer['intersection']=5;\r\n brd1.suspendUpdate();\r\n //Make the board responsive\r\n makeResponsive(brd1);\r\n // Creat titleStyle\r\n placeTitle(brd1, 'Refraction of Light', '(Drag Laser Light P to Change Incident Angle.)');\r\n // Line l1 as an interface between two environments, green, with the index of refraction\r\n // n_1, and the blue, with the index of refraction n_2.\\\r\n var l1 =placeLine(brd1, [-8,0], [8,0], 2, 'black');\r\n var n =placeDash(brd1, [0,-8], [0,8], 1, 'black');\r\n var path=placeArc(brd1,[0,0], [0, 5], [-5, 0], 1, 'black');\r\n var M = brd1.create('point',[-4,0],{name:'M', visible:false, fixed:true});\r\n var I = brd1.create('point',[0,0],{name:'I', size:1, fixed:true});\r\n // l1 = brd1.create('line', [M,I]);\r\n var ineq1 = brd1.create('inequality', [l1], {fillColor: 'green'});\r\n var ineq2 = brd1.create('inequality', [l1], {inverse: true, fillColor: 'blue'});\r\n\r\n // Normal line n with auxiliary points N and O that allows us to determine\r\n // the angles of incidence (α) and refraction (β), respectively\r\n //var n = brd1.create('perpendicular', [l1,I], {name:'n', color: 'black', dash:\"2\", strokeWidth:1});\r\n var N = brd1.create('glider',[0,4,n], {name:'N', visible:false});\r\n var O = brd1.create('glider',[0,-4,n], {name:'O', visible:false});\r\n // a light source L\r\n // var L = brd1.create('point', [-3,4], {name:'L', color:'red', size:3});\r\n var L = placeGlider(brd1, path, -2, 3, 3, 'white', 'black');\r\n var angle1 = placeAngle(brd1, [0,5], [0,0], [()=>L.X(), ()=>L.Y()], 1, 'blue');\r\n // Position of the light source L is limited to the green environment\r\n /*var xL, yL;\r\n L.on('drag', function() {\r\n if(L.Y() < 0 ) {\r\n L.moveTo([xL,yL],0);\r\n }\r\n xL = L.X(); yL = L.Y();\r\n });*/\r\n\r\n // r1, the incident light ray\r\n //var r1 = brd1.create('segment', [L, I], {strokeColor:'orange', strokeWidth:4});\r\n var r1 =placeLine(brd1, [()=>L.X(), ()=>L.Y()], [0,0], 4, 'red');\r\n // Sliders to control indexes of refraction\r\n var n_1 =placeSlider(brd1, 3, 5, 1, 3, 3, 'μ_1');\r\n var n_2 =placeSlider(brd1,-6, -5, 1, 3, 3, 'μ_2');\r\n // brd1.create('slider', [[-4, -3], [-2,-3], [1, 1, 3]], {name:'n_1', snapWidth: 0.01});\r\n\r\n // The value of s controls the kind of refraction/reflection, if s > 1 the total reflection occurs\r\n // (numerically it is the absolute value of the sine of the angle of refraction)\r\n var s = function() { return (n_1.Value()/n_2.Value())*Math.abs(Math.sin(JXG.Math.Geometry.angle(N,I,L))).toFixed(6); }\r\n\r\n // Two possible points through which the modified ray passes, B for the reflected ray and C for the refracted one\r\n var B = brd1.create('point', [\r\n function(){ return -L.X(); },\r\n function(){ return L.Y(); }\r\n ], {\r\n visible: function(){\r\n return (s()>1 || Math.abs(Math.sin(JXG.Math.Geometry.angle(N,I,L)))==1)? true : false;\r\n }, name:'R_1', face:'o', size:1, visible: false\r\n });\r\n var C = brd1.create('point', [\r\n function(){ return 5*(n_1.Value()/n_2.Value())*Math.sin(JXG.Math.Geometry.angle(N,I,L)); },\r\n function(){\r\n return -5*Math.cos(Math.asin((n_1.Value()/n_2.Value()) * Math.sin(JXG.Math.Geometry.angle(N,I,L)))); }\r\n ], {\r\n visible: function(){\r\n return (s()<=1 && Math.abs(Math.sin(JXG.Math.Geometry.angle(N,I,L)))!=1)? true : false;\r\n }, name:'R_2', face:'o', size:1, visible:false\r\n });\r\n\r\n // Reflected (r2) and refracted (r3) ray\r\n var r2 = brd1.create('segment', [I, B], {\r\n visible: function(){\r\n return (s()>1 || Math.abs(Math.sin(JXG.Math.Geometry.angle(N,I,L)))==1)? true : false;\r\n }, strokeColor:'orange', strokeWidth:4, lastArrow: {type: 1, size: 3}\r\n });\r\n var r3 = brd1.create('segment', [I, C], {\r\n visible: function(){\r\n return (s()<=1 && Math.abs(Math.sin(JXG.Math.Geometry.angle(N,I,L)))!=1)? true : false;\r\n }, strokeColor:'red', strokeWidth:4, lastArrow: {type: 1, size: 3}\r\n });\r\n\r\n // Angles of impact (angle 1), refraction (angle2) and reflection (angle3), respectively\r\n //var angle1 = brd1.create('nonreflexangle',[N, I, L], {radius:1,color:'orange', fillOpacity: 0, name: 'α'});\r\n var angle2 = brd1.create('nonreflexangle',[O,I,C], {\r\n visible: function(){\r\n return (s()<=1 && Math.abs(Math.sin(JXG.Math.Geometry.angle(N,I,L)))!=1)? true : false;\r\n }, radius:1, color:'orange', fillOpacity: 1, name: 'β'\r\n });\r\n var angle3 = brd1.create('nonreflexangle',[B,I,N], {\r\n visible:function(){\r\n return (s()>1 || Math.abs(Math.sin(JXG.Math.Geometry.angle(N,I,L)))==1)? true : false;\r\n }, radius:1, color:'orange', fillOpacity: 0, name: 'β'\r\n });\r\n brd1.unsuspendUpdate();\r\n },\r\n}\r\nexport default Boxes;\r\n","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Refraction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Refraction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Refraction.vue?vue&type=template&id=a9904800&\"\nimport script from \"./Refraction.vue?vue&type=script&lang=js&\"\nexport * from \"./Refraction.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Refraction.vue?vue&type=style&index=0&id=a9904800&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}