Astro-Grázl

Mezinárodnímu týmů vědců z předních Evropských i Amerických univerzit a výzkumných ústavů se podařil fascinující objev dosud neznámého objektu. Zkombinováním pozorování z Hubbleova vesmírného dalekohledu, rentgenové družice Chandra a družice Fermi určené pro pozorování v oblasti gama záření, tak poprvé v lidské historii dokázali zachytit podobu bezprostředního okolí vzdáleného blazaru.

Na byť poněkud rozmazaném, přesto ale podrobném snímku kombinujícím dlouhé expozice v různých oborech elektromagnetického spektra, od infračerveného, přes vizuální a rentgenový až po gama záření, lze spatřit komplikovanou strukturu horkého plynu nacházejícího se v okolí velmi vzdáleného blazaru. Ta je tvořená pravděpodobně působením dynamického magnetického pole v okolí zárodku budoucí galaxie.

Zní to hezky — možná až moc — škoda jen, že to není pravda. Ve skutečnosti se jedná o rozostřený snímek se záznamem stopy bodu pohybujícího se po Lorenzově atraktoru v prostoru s rotujícími souřadnými osami. S barevným rozlišením hodnot souřadnic v jednotlivých směrech. Atraktor, to je taková ta věc z teorie chaosu, jak se v ní mluví o motýlech a bouřích vyvolaných mávnutím jejích křídel.

Jest-li to někomu pomůže k hlubšímu pochopení, přikládám i jednoduchý kód v něčem jako Java, pomocí nějž jsem původní obrázek několik hodin generoval. Pro jeho spuštění budete potřebovat prostředí Processing. Pokud jste se dostali až sem, nebojte se experimentovat se změnou volných parametrů, počátečních podmínek a velikostí časového kroku. Post-processing je už jen kostičkové a Gaussovo rozostření v Gimpu.

void setup()
{
  size(960, 720, P3D);
  strokeWeight(5);
  background(0);
}

float a = 10, b = 8/3, c = 28;
float x = -1, y =   1, z = 0;
float t = 0, dt = 0.01;
float red, gre, blu;
float s = 7;

void mouseClicked() {saveFrame();}

void draw()
{
  translate(width/2, height/2);
  rotateX(t); rotateY(t); rotateZ(t);

  x += (a * (y - x)    ) * dt;
  y += (x * (c - z) - y) * dt;
  z += (x *  y - b  * z) * dt;

  red = map(x, -10, 10, 0, 255);
  gre = map(y, -10, 10, 0, 255);
  blu = map(z,  20, 40, 0, 255);

  stroke(red, gre, blu, 96);
  point(x*s, y*s, z*s);

  t += dt;
}

Komentáře

Bez komentářů.