8. prosince 2018

Voronoi Diagram v Game Makeru

Grafický vzor pojmenovaný jako Voroného diagram znám už dlouho, ale tentokrát jsem se rozhodl ho vytvořit programem napsaným v jazyce GML pro Game Maker. Matematika definující tento vzor není až tak složitá, jak jsem se zprvu obával a tak to nebyl problém uskutečnit. Jde vlastně o síť vytvořenou ze shodných vzdáleností ke klíčovým bodům.

Voroného diagram na wikipedii:
( https://cs.wikipedia.org/wiki/Voron%C3%A9ho_diagram )


Z hlediska vykreslení jsem v GML použil primitivní postup. Pro každý bod obrazu jsem nechal spočítat jeho vzdálenost k nejbližším dvěma klíčovým bodům a pokud je rozdíl nižší než jedna, tak se vykreslí. Jde sice o výpočet hrubou silou, ale při troše trpělivosti ( cca 5 sec ) se to vykreslí.

Ovšem jak je to s reálnou použitelností?
Jelikož jsem drze natvořil klíčové body pomocí objektů ( spotřeba paměti i výkonu nezměrná ), nebylo to daleko od myšlenky použít normální objekty s běžnými obrázky jako sprite. GM má knihovní funkci na vzdálenost objektu od objektu a tak nejde o moc velký rozdíl v rychlosti. Výsledek vypadá docela zajímavě. Šlo by takto znázornit klikací mapy nebo nějaké oblasti vlivu.


Takto jde udělat mapu okolo jakýchkoli obrázků.
Pokusný projekt ze kterého je screenshot: