Ú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.
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
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