Moaré

Tento notebook simuluje jednu z řady možných variant vzniku jevu moaré.

Tlačítkem Ulož obrázek se uloží právě zobrazené "bílé" okno do aktuální složky (složka, v níž je uložen tento notebook) pod jménem, které je uloženo v proměnné jmenosouboru. K tomuto jménu souboru je při opakovaném ukládání grafu přidáváno pořadové číslo.
Pozor! Při každém spuštění tohoto apletu se začínají soubory číslovat opět od jedné! Tak může dojít k přepsání minule uložených obrázků.

© Jaroslav Reichl, 2012

Příprava pro vykreslení grafu

ClearAll["Global`*"];
jmenosouboru="moare_.jpg";
cesta=NotebookDirectory[];
pocetulozeni=0;

x1=-10;x2=-x1;
y1=-10;y2=-y1;
delta=0.15x2;

n0=80;nmin=5;nmax=100;deltan=1;
fi0=0;fimin=0;fimax=6;deltafi=1;

tloustka=0.007;
velikostbodu=0.02;

barva=Black;
barvactverce=Black;
barvactverce2=Black;
barvalinek1=Black;

ctverec=Line[{{x1,y1},{x2,y1},{x2,y2},{x1,y2},{x1,y1}}];
ctverecmaly=Line[{{x1+delta,y1+delta},{x2-delta,y1+delta},{x2-delta,y2-delta},{x1+delta,y2-delta},{x1+delta,y1+delta}}];

Moare=Manipulate[Deploy[
linky1=Table[Line[{{x1+(((x2-x1)i)/n),y1},{x1+(((x2-x1)i)/n),y2}}],{i,1,n,1}];
linky2=Table[Line[{{x1-((y2-y1)/2)Tan[fi Degree]+(((x2-x1)i)/n),y1},{x1+((y2-y1)/2)Tan[fi Degree]+(((x2-x1)i)/n),y2}}],{i,1,n,1}];

grafik=Show[
Graphics[{
{barvactverce,Thickness[tloustka],ctverec},
{barvalinek1,Thickness[0.5tloustka],linky1},
{barvalinek1,Thickness[0.5tloustka],linky2},
{barvactverce2,Thickness[tloustka],ctverecmaly},
}],
FormatType->StandardForm,AspectRatio->Automatic,PlotRange->{{1.1x1,1.1x2},{1.1y1,1.1y2}},ImageSize->500
]],

{{n,n0,Style["n",15,barva]},nmin,nmax,deltan},
{{fi,fi0,Style["φ",15,barva]},fimin,fimax,deltafi},
Delimiter,
Button[" Ulož obrázek ",{pocetulozeni=pocetulozeni+1,Export[StringInsert[StringJoin[cesta,jmenosouboru],ToString[pocetulozeni],-5],grafik]},ImageSize->{100,Automatic}],
ControlPlacement->Left,
FrameLabel->{Style["© Jaroslav Reichl, 2012",10,Black,FontFamily->Times],"",Style["Moaré",25,Black,FontFamily->Times],""}];

Spuštění animace
Zpracujte běžným způsobem následující buňku a na dotaz, který se objeví, odpovězte ANO.

Moare