Mezinárodní soutěž v programování

ICP '97

 

Úloha korespondenčního kola

Graf funkce dvou proměnných

Napište program, který umožní vykreslení a následné otáčení plochy určené funkcí dvou proměnných z = f(x,y). Plochu zobrazte jako soustavu řezů vedených rovnoběžně s osou x a y (tj. třírozměrná podoba grafu).

Po spuštění si program vyžádá zadání funkce. Funkce je určena výrazem, který může obsahovat proměnné x a y, číselné konstanty, závorky '(' a ')', operátory '+' (sčítání), '-' (odčítání a unární minus), '*' (násobení), '/' (dělení), '^' (umocňování) a funkce sqrt (druhá odmocnina), sin (sinus), cos (kosinus), tan (tangens) a ln (přirozený logaritmus).

Poté si program pro každou proměnnou x a y vyžádá zadání intervalu, pro který se má funkce vykreslit. Po vykreslení plochy určené funkcí, bude možno pomocí kurzorových šipek vlevo a vpravo otáčet grafem kolem osy z a pomocí šipek nahorů a dolů kolem osy x.

Program sám určí optimální velikost grafu.

Ukázkový graf

Funkce: 4*cos(sqrt(2*x^2+y^2))/sqrt(x^2+y^2)

Interval pro x a y: -10 až 10