Zkuste si Moiré

Ostatní jazyky GameMaker Ostatní Zkuste si Moiré

Je to vlastně taková hezká pitomost, kterou jsem poprvé viděl na osmibitovém počítači s procesorem firmy Zilog, resp. s jeho v NDR okopírovanou verzí. Schválně hádejte jaký stroj slovenské výroby to byl. :-) A na tohle jsem si vzpomněl, když jsem si v prosinci loňského roku hrál s vykreslováním do surface v Game Makeru. Teď jsem ty pokusy našel v adresářích při čištění a řekl jsem si, že se s vámi o ně podělím.

Obrázek vzniká jednoduše tím, že se nechá vykreslit čára ze středu obrazu do bodů pravidelně rozmístěných na elipse okolo tohoto středu. Souřadnice bodu na elipse se počítají složením goniometrických funkcí sinus a cosinus. Podrobnosti o matematice elipsy jsou dobře rozepsány na wikipedii.

Vzhledem k tomu, že zobrazení jakéhokoliv obrazu a tedy i přímky se vždy rozdělí do sítě pravidelných čtverců - pixelů, je i každá přímka pod úhlem jiným než 0,90,180,atd. rozdělena do poměrně hrubých schodů. Pro odtranění tohoto efektu se obvykle používá tzv. antialiasing. Pokud "zubatý" okraj ponecháme a sledujeme jeho vliv na části přímky rotující okolo středu, bude k vidění vliv hustoty vzorků na aproximaci přímky a při tom vzniklý obrazec je docela oku lahodící. Posuďte sami..


Galerie

Program byl vytvořen v roce 2011.

 

Stáhnout

Staženo 237x (999.49 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker

 

  Aktivity (1)

Program pro vás napsal TomBen
Avatar
-

Jak se ti líbí článek?
Celkem (1 hlasů) :
55555


 


Miniatura
Všechny články v sekci
GameMaker - Ostatní

 

 

Komentáře
Zobrazit starší komentáře (10)

Avatar
TomBen
Redaktor
Avatar
TomBen:

Ve free verzi to uděláš taky, jen se to musí napsat jinak.

Odpovědět 27.9.2012 12:47
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
samo007
Redaktor
Avatar
 
Odpovědět 27.9.2012 17:11
Avatar
TomBen
Redaktor
Avatar
Odpovídá na samo007
TomBen:

Snadno. Je to vlastně jen kreslení čáry z bodu A ( tady střed obrazovky )
do bodu B (bod na elipse daný parametrickou rovnicí elipsy).
V jediném eventu draw nakresli elipsu celou, s postupným překreslováním se nepárej.
Rovnice jsou x=sx+a cos(t) y= sy+b sin(t), kde sx sy jsou souřadnice středu elipsy,
a b jsou velikosti poloos a t je parametr od 0 do 2pi, udávající polohu bodu na elipse.

Na praktické provedení zkus přijít sám, myslím, že na to máš.
Držím ti palce.

Editováno 28.9.2012 0:20
Odpovědět 28.9.2012 0:18
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
samo007
Redaktor
Avatar
Odpovídá na TomBen
samo007:

Ďakujem za radu, skúsim to :)

 
Odpovědět 28.9.2012 5:39
Avatar
Hartrik
Redaktor
Avatar
Hartrik:

Dnes jsem si hrál s mým programem Turtle a nějak se mi podařilo vykreslit tento obrázek. Hned jsem si vzpomněl, že už jsem to někde viděl :)
Jen s tím rozdílem, že to není do elipsy, ale do kruhu.

 
Odpovědět  +1 6.3.2013 17:09
Avatar
Theodor Johnson
Redaktor
Avatar
Theodor Johnson:

Jednou jsem to zkoušel předělat do C# a fakt to neni těžký, akorát mi stačilo trošku to pozměnit :)

Odpovědět 6.3.2013 17:27
Přecházím na "Cross-Platform Development"
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na Theodor Johnson
Hartrik:

To ano, těžké to není:

<darkgreen>
C (720) {
  L(5000)
  +(0.5)
  H
}
 
Odpovědět 6.3.2013 17:35
Avatar
TomBen
Redaktor
Avatar
TomBen:

Ono se s tím dá všelijak experimentovat
a někdy i v pohybu. Já jsem od elipsy došel
do všelijakých patvarů. :D

Odpovědět  +2 6.3.2013 17:50
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na TomBen
Hartrik:

Hezké, tohle už nevím jak bych udělal :D

 
Odpovědět 6.3.2013 18:07
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Hartrik
TomBen:

To nic, já už to taky nevím. :D
Prostě jsem si hrál.

Odpovědět 6.3.2013 18:08
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 20. Zobrazit vše