úloha 017: Graf funkce dvou proměnných s viditelností

Úkolem je implementovat softwarově algoritmus pro vykreslování grafu funkce dvou proměnných (R2->R). Algoritmus bude mít k dispozici funkci y = y(x,z), rozsah hodnot xmin, xmax, zmin, zmax a jemnost a styl aproximace plochy. Směr pohledu je dán dvěma úhly - azimutem a elevací. Cílem je nakreslit do rastrového obrázku plochu grafu funkce s viditelností. Je potřeba umět správně vykreslit povrchové křivky (lomené čáry), je tedy zvlášť vhodný algoritmus plovoucího horizontu v některé své variantě.

Základem poslouží projekt 017graph z repository grcis. Je připravena aplikace, která umožňuje uživateli vybrat si funkci, rozsah souřadnic x a z a jemnost aproximace. Směr pohledu se zadává dvěma úhly. Vaším úkolem je zobrazit plochu s viditelností do rastrového obrázku dané velikosti.
Pro implementaci vašeho algoritmu budete modifikovat předem založenou třídu GraphRendering nacházející se ve zdrojovém souboru GraphRendering.cs. Kreslicí metoda se jmenuje GraphRendering.Render().

Náměty: metoda plovoucího horizontu v rastrové nebo vektorové variantě, s vyplňováním plošek nebo bez něj (tj. pouze čárová kresba).

Technicky: dostanete objekt implementující interface IFunctionR2ToR, který definuje funkci y = y(x,z). Dále budete mít k dispozici parametry pohledu (úhly kamery, velikost rastrového výsledku, apod.) a vaším úkolem bude vykreslit kompletní obrázek grafu funkce do paměti (objekt typu Bitmap).

TERMÍN: do 30. 1. 2011

BODY: 8 až 16 bodů

PROJEKT: 017graph

ZDROJOVÝ SOUBOR: GraphRendering.cs

VZOR VÝSLEDKU: var0, 60x60, az30, el30, var2, 80x80, az30, el10


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

Valid XHTML 1.1 Copyright (C) 2010-2011 J.Pelikán, last change: $Date: 2014-10-03 15:44:39 +0200 (Fri, 03 Oct 2014) $
Send comments/requests to pepca.at.cgg.mff.cuni.cz