Odborný blog Tomáše Slavíčka

Tisk článku Tisk článku

Hraní si s pravidelnými grafy

[Zpět na blog]

Datum: 12. 12. 2008 19:27       Autor: Tomáš Slavíček       Zobrazeno: 3192x

Kategorie: 2D


Rozhodl jsem se, že také občas něco napíšu sem do blogu. Když mě napadne nějaká zajímavá aplikace, udělám pěknou fotku, video, nebo jenom tak, když něco objevím.

Jsem v prváku na matfyzu (Univerzita Karlova v Praze), na informatice. V rámci diskrétní matematiky (teorie grafů) mě zaujala jedna pěkná úloha. Rovinný graf je takový, kde se mezi jeho vrcholy nekříží žádné hrany. Stupněm vrcholu nějakého grafu se rozumí počet hran jdoucích do tohoto vrcholu. A teď si představme takový rovinný graf, že všechny jeho vrcholy jsou stejného stupně, například 2, 3... Když se opravdu nakreslí tak, aby se nekřížily žádné hrany, vzniknou docela pěkné, pravidelné "obrázky".

Naprogramoval jsem si jednoduchou aplikaci v jazyku C# a s pomocí tabletu jsem si chvilku hrál se šoupáním bodů. První tlačítko nebo dvojklik "tužkou" bylo umístění nového bodu, druhé tlačítko (obdoba pravého na myši) bylo umístění nové hrany. Táhnutím byl posun bodu. Vykresloval jsem pomocí GDI+ (metod DrawLine(), FillEllipse() atd.), zdrojáky sem ale nedávám. Bylo to psané hodně narychlo a určitě něco podobného každý zvládne sám.

Pro stupeň vrcholů 2 je to jednoduché - stačí propojit tři body a s méně to už určitě nepůjde:

graf2_thumb

Pro stupeň 3 ho můžeme na všechny strany rozšířit o jeden bod a vznikne nám takovýhle graf:

graf3_1_thumb[1]

Určitě by to šlo ale udělat na méně bodů, tenhle graf je už složen jenom z trojúhelníků. To už také nepůjde moc vylepšit:

graf3_2_thumb[1]

Pro stupeň 4 vznikne zase moc pěkný obrázek, ale protože uprostřed je čtverec, takže by šlo určitě pár bodů ubrat:

graf4_1_thumb[1] graf4_2_thumb[1]

U stupně 5 to začne být zajímavé. Když vyjdeme z pětiúhelníku, vznikne symetrický graf na dvaceti vrcholech:

graf5_1_thumb[1]

Ten jde ale zjednodušit jen na 12 vrcholů:

graf5_2_thumb[1]

Zvládnete sestavit podobný rovinný graf, kde každý vrchol bude mít stupeň 6? Nebo více? Najít obecný algoritmus, jak takový graf sestavit? Zkuste si ho nakreslit...


> Na začátek

 

Hodnocení:

Hlasů: 7
Zvolte své hodnocení

Tomáš Slavíček

Studuji Matematicko-fyzikální fakultu UK v Praze, věnuji se platformě .NET a programování v C#. Tvořil jsem pro Windows Mobile, nyní se věnuji především platformě Windows Phone 7. Zajímám se o návrh her a další multimediální tvorbu, dokončuji vývoj herního 3D engine postaveného nad XNA. Ve volném čase si najdu rád chvilku na in-line brusle, nebo na hraní na klávesy. Na škole působím jako Microsoft Student Partner. Můj Twitter: @tomasslavicek - Kontakt: mail(zav.)tomasslavicek(teč.)cz


RSS Feed RSS Feed

Diskuse

1 

Rovinný graf s vrcholy stupně 6

Datum: 18.3.2009 22:37
Autor: neregistrovaný (78.102.153.147)
Hodnocení autora: není
Příspěvků: 0
Ahoj,
už možná víš, že rovinný graf má vždy alespoň 1 vrchol stupně 5 či méně - a tudíž nelze udělat rovinný graf, který by měl všechny vrcholy stupně 6.
Jana
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Rovinný graf s vrcholy stupně 6

Datum: 19.3.2009 9:14
Autor: Tomáš Slavíček
Hodnocení autora: 9
Příspěvků: 43
Díky za odpověď, to je dobrá připomínka :) To jsem si v době psaní článku ještě neuvědomil, ale už ten závěr asi měnit nebudu. Diskrétní matematika je pěkná, stále se tam dají objevovat nové zajímavé věci.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...
1 
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.