úloha 025: výpočet izočar ve 2D

Úkolem je implementovat nějaký algoritmus pro kreslení soustavy izočar ve 2D. Vstupem je funkce f(x,y) a pole prahových hodnot [hi]i=0..N, výstup je potřeba kreslit v deném měřítku do předem připraveného rastrového obrázku (Bitmap).

Základem poslouží projekt 025contours z repository grcis. Je připravena aplikace, která v jednoduchém okně zobrazuje spočítaný rastrový obrázek (Bitmap). Je možné přepínat několik implicitních funkcí (listbox) a myší ovládat překreslování obrázku s izočárami (detaily viz níže).
Pro doplnění Vaší implementace byl založen zdrojový soubor Contours.cs, do něj budete psát Váš nový kód a nakonec mi ho odevzdáte.

Ovládání programu:

Náměty: inspirovat se můžete např. rastrovm algoritmem na kreslení izočar (Pelikán, 1992) uvedeným v této prezentaci od strany 25. Další detaily najdete v původní publikaci. Můžete samozřejmě přijít s jakýmkoli svým vlastním nápadem, jenom by bylo dobré, abyste dokázali kreslit izočáry rychle, dostatečně přesně a z celého souboru prahových hodnot thr.

Co modifikovat: ve zdrojovém souboru Contours.cs najdete metodu InitializeFunctions(), do ní můžete přidávat další testované implicitní funkce (functions) a/nebo měnit nastavení sady prahových hodnot pro izočáry (thr).
Hlavně ale musíte přeprogramovat funkci ComputeContours() kreslící izočáry do daného rastrového obrázku.
Hodnotit budu bezchybnost algoritmu a jeho rychlost.

TERMÍN: do 12. 6. 2011

BODY: základ 25 bodů

PROJEKT: 025contours

ZDROJOVÝ SOUBOR: Contours.cs


[Cvičení NPGR023]  [Návody k zápočtům v C#]  [Přednášky a semináře]  [Odkazy na demonstrace]

Valid XHTML 1.1 Copyright (C) 2011 J.Pelikán, last change: $Date: 2013-11-22 23:48:14 +0100 (Fri, 22 Nov 2013) $
Send comments/requests to pepca.at.cgg.mff.cuni.cz