最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

不同孔徑的遠(yuǎn)場衍射圖案 | 復(fù)折射率 | 光學(xué)幻覺

2022-10-17 21:00 作者:自家學(xué)習(xí)用  | 我要投稿
dim = 512;
size = 30;
sinstep[t_] := Sin[\[Pi]/2 t]^2;
stopstep[t_] := t (2 - t);
split[t_] := Round[80*stopstep[t] ];
\[Theta][t_] := \[Pi]*sinstep[t];

framerate = 1/30;

plottolo[ar_] := GraphicsRow[{
ArrayPlot[ar[[1/4 dim ;; 3/4 dim, dim/4 ;; 3/4 dim]],  ColorFunction -> "AvocadoColors", PlotLabel -> "Aperture", LabelStyle -> {White, Bold}, Frame -> False], 
ArrayPlot[ RotateRight[ Abs[Fourier[PadRight[ar(*-Mean[Flatten@ar]*), {8 dim, 8 dim}]]]^2, {dim/2, dim/2}][[1 ;; dim, 1 ;; dim]](*[[2/8dim;;6/8dim,2/8dim;;6/8dim]]*), ColorFunction -> "AvocadoColors", PlotRange -> {0, 0.5}, ClippingStyle -> White,     PlotLabel -> "Far field diffraction", LabelStyle -> {White, Bold}, Frame -> False]
   }, Background -> Black]

frames1 = Table[
   ar = Clip[ RotateRight[DiskMatrix[size, dim], {0, split[t]}] +  RotateRight[DiskMatrix[size, dim], {0, -split[t]}], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames2 = Table[
   ar = Clip[ DiskMatrix[size, dim] +  RotateRight[DiskMatrix[size, dim], {0, split[t]}] + RotateRight[DiskMatrix[size, dim], {0, -split[t]}], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames3 = Table[
   ar = Clip[ RotateRight[ DiskMatrix[size, dim], {Round[split[1]*Sin[\[Theta][t]]], Round[split[1]*Cos[\[Theta][t]]]}] + RotateRight[       DiskMatrix[size, dim], {-Round[split[1]*Sin[\[Theta][t]]], -Round[split[1]*Cos[\[Theta][t]]]}], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames4 = Table[
   ar = Clip[ RotateRight[DiskMatrix[size, dim], {split[t], split[1]}] + RotateRight[DiskMatrix[size, dim], {-split[t], split[1]}] +       RotateRight[DiskMatrix[size, dim], {split[t], -split[1]}] + RotateRight[DiskMatrix[size, dim], {-split[t], -split[1]}], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames5 = Table[
   ar = Clip[DiskMatrix[size + 3*size*stopstep[t], dim], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames5bis = Table[
   ar = Clip[ DiskMatrix[size + 3*size, dim] - DiskMatrix[3*size*stopstep[t], dim], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames5tris = Table[
   ar = Clip[ DiskMatrix[size + 3*size*(1 - stopstep[t]), dim] - DiskMatrix[3*size*(1 - stopstep[t]), dim], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames5quater = Table[
   trianglesize = 100*stopstep[t] + 10;
   ar = Abs[ Rasterize[Graphics[Triangle[{{-1/2, -Tan[\[Pi]/6]/2}, {1/2, -Tan[\[Pi]/6]/2}, {0, Cos[\[Pi]/6]/2}}]], "Data", RasterSize -> {2*trianglesize, 2*trianglesize}][[All, All, 1]] - 255]/255;
   ar = PadRight[ ArrayPad[ar, Round[(dim - Dimensions[ar][[1]])/2]], {dim, dim}];
   ar = Clip[DiskMatrix[size*(1 - stopstep[t]), dim] + ar, {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames5penta = Table[
   trianglesize = 100*(1 - stopstep[t]) + 10;
   ar = Abs[ Rasterize[ Graphics[ Triangle[{{-1/2, -Tan[\[Pi]/6]/2}, {1/2, -Tan[\[Pi]/6]/2}, {0, Cos[\[Pi]/6]/2}}]], "Data", RasterSize -> {2*trianglesize, 2*trianglesize}][[All, All, 1]] - 255]/255;
   ar = PadRight[ ArrayPad[ar, Round[(dim - Dimensions[ar][[1]])/2]], {dim, dim}];
   ar = Clip[BoxMatrix[size*3*(stopstep[t]), dim] + ar, {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames5esa = Table[
   ar = Clip[ BoxMatrix[size/2 + size*2.5*(1 - stopstep[t]), dim], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames6 = Table[
   ar = Clip[ BoxMatrix[{size/2, size/2 + Round[(100 - size/2)*sinstep[t]]},  dim], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames7 = Table[
   ar = Clip[ BoxMatrix[{size/2, 100}, dim] + BoxMatrix[{size/2 + Round[(100 - size/2)*sinstep[t]], size/2}, dim], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames8 = Table[
   ar = Clip[ RotateRight[ BoxMatrix[{size/2, 100},  dim], {-Round[(100 - size/2)*sinstep[t] ], 0}] + BoxMatrix[{100, size/2}, dim], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames9 = Table[
   ar = Clip[ RotateRight[ BoxMatrix[{size/2, 100}, dim], {-(100 - size/2), 0}] +  RotateRight[BoxMatrix[{100, size/2}, dim], {0, -Round[(100 - size/2)*sinstep[t] ]}], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
frames10 = Table[
   ar = Clip[ BoxMatrix[size/2*(1 - stopstep[t]), dim] + DiskMatrix[size*stopstep[t], dim], {0, 1}];
   plottolo[ar]
   , {t, 0, 1, framerate}];
ListAnimate[Join[
 frames1, Reverse@frames1, frames2, Reverse@frames2, frames1, frames3, frames4, Reverse@frames4, Reverse@frames1, frames5, frames5bis, frames5tris, frames5quater, frames5penta, frames5esa, frames6, frames7, frames8, frames9,  Reverse@frames9, Reverse@frames8, Reverse@frames7, Reverse@frames6, frames10
 ]]


不同孔徑的遠(yuǎn)場衍射圖案 | 復(fù)折射率 | 光學(xué)幻覺的評論 (共 條)

分享到微博請遵守國家法律
清河县| 永州市| 南汇区| 鹤山市| 垫江县| 基隆市| 中卫市| 安岳县| 长寿区| 章丘市| 嵊州市| 涿州市| 卓资县| 哈尔滨市| 泾阳县| 潜江市| 宁海县| 长岭县| 克山县| 勐海县| 淮南市| 萨嘎县| 淮北市| 彩票| 太白县| 新安县| 容城县| 大关县| 久治县| 灵寿县| 轮台县| 青岛市| 夏津县| 融水| 葫芦岛市| 嘉义市| 中牟县| 营山县| 蕉岭县| 郎溪县| 罗平县|