File:Caustics.gif
维基共享资源,媒体文件资料库
跳转到导航
跳转到搜索
Caustics.gif (576 × 356像素,文件大小:13.69 MB,MIME类型:image/gif、循环、210帧、21秒)
文件信息
结构化数据
说明
说明
添加一行文字以描述该文件所表现的内容
Refraction from a non-flat surface creates regions of high intensity, where many rays cross, known as caustics.
摘要
[编辑]描述Caustics.gif |
English: When light is refracted from a non-flat surface, it simply happens that there are regions where more rays are passing through, creating very bright spots (or lines) called "caustics". |
日期 | |
来源 | https://twitter.com/j_bertolotti/status/1229743952594640897 |
作者 | Jacopo Bertolotti |
授权 (二次使用本文件) |
https://twitter.com/j_bertolotti/status/1030470604418428929 |
Mathematica 12.0 code
[编辑]n = 2; (*Refractive index of the bottom medium*) z = 5; (*The bottom of the plot is at zero. This set how high you want to plot*) h[x_] := 1 + 0.03 Cos[x] + 0.1 Sin[2.1 x] + 0.11 Sin[2.8 x]; (*profile of the refractive medium*) dh[x_] := Evaluate[D[h[x], x]]; (*Derivative of the profile (that locally determines how Snell law works*) R[x_] := x + (z - h[x]) dh[x] (n Sqrt[1 - (n^2 - 1) dh[x]^2] - 1)/(1 - (n^2 - 1) dh[x]^2); (*Where the ray ends up*) Show[ Plot[h[x], {x, 0, 2 \[Pi]}, Background -> Black, PlotStyle -> {Gray}, Filling -> Axis, PlotRange -> {0, z}, Axes -> False, FillingStyle -> Gray], Graphics[{ Yellow, Thick, Opacity[0.1], Table[{Line[{{y, 0}, {y, h[y]}}], Line[{{y, h[y]}, If[Im[R[y]] == 0, {R[y], z}, {y, h[y]}]}]}, {y, 0, 2 \[Pi], 0.02}] }] , ImageSize -> Large ] (*Plot of the caustics*) (*Generate the animation*) listy = RandomSample@Table[y, {y, 0, 2 \[Pi], 0.015}]; (*Randomize the order the rays appear*) dim = Dimensions[listy][[1]]; p1 = Table[ Show[ Plot[h[x], {x, 0, 2 \[Pi]}, Background -> Black, PlotStyle -> {Gray}, Filling -> Axis, PlotRange -> {0, z}, Axes -> False, FillingStyle -> Gray], Graphics[{ Yellow, Thick, Opacity[0.15], Table[{Line[{{y, 0}, {y, h[y]}}], Line[{{y, h[y]}, If[Im[R[y]] == 0, {R[y], z}, {y, h[y]}]}]}, {y, listy[[1 ;; k]]}] }] , ImageSize -> Large ] , {k, 1, dim, 2}]; (*Plot every two frames, otherwise the animation is too heavy*) ListAnimate[p1]
许可协议
[编辑]我,本作品著作权人,特此采用以下许可协议发表本作品:
![]() ![]() |
本作品采用知识共享CC0 1.0 通用公有领域贡献许可协议授权。 |
采用本宣告发表本作品的人,已在法律允许的范围内,通过在全世界放弃其对本作品拥有的著作权法规定的所有权利(包括所有相关权利),将本作品贡献至公有领域。您可以复制、修改、传播和表演本作品,将其用于商业目的,无需要求授权。
http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, Public Domain Dedicationfalsefalse |
文件历史
点击某个日期/时间查看对应时刻的文件。
日期/时间 | 缩略图 | 大小 | 用户 | 备注 | |
---|---|---|---|---|---|
当前 | 2020年2月19日 (三) 09:33 | ![]() | 576 × 356(13.69 MB) | Berto(留言 | 贡献) | User created page with UploadWizard |
您不可以覆盖此文件。
文件用途
没有页面使用本文件。
全域文件用途
以下其他wiki使用此文件:
- en.wikipedia.org上的用途
- fa.wikipedia.org上的用途
- ro.wikipedia.org上的用途
- vi.wikipedia.org上的用途
- zh.wikipedia.org上的用途
元数据
此文件含有额外信息,这些信息可能是创建或数字化该文件时使用的数码相机或扫描仪所添加的。如果文件已从其原始状态修改,某些详细信息可能无法完全反映修改后的文件。
GIF文件备注 | Created with the Wolfram Language : www.wolfram.com |
---|