Základy grafického zpracování ve 2D | |
Úvodní slovo Autor MAPLESystém MapleZáklady práce Konstrukce Maple Definice funkcí Zjednodušování Řešení rovnic Grafické zpracování Programování MatematikaDiferenciální početIntegrální počet Křivkový integrál Plošný integrál Knihovnyplotsstudent Student VectorCalculus InformaceDownloadOdkazy Publikace |
Jak již bylo řečeno, nejjednodušším příkazem je příkaz plot.
plot(výraz, proměnná = a..b);
První příkaz vykreslí daný výraz (jde o předpis funkce) na daném intervalu. Druhý se používá pro vykreslení funkce f(x) na daném intervalu a třetí vykresluje funkce na kartézském čtverci . > plot(cos(x)/x,x=0..infinity);# vykreslení grafu funkce dané výrazem > f:=x->5*cos(x)+cos(5*x): > plot(f,-Pi..4*Pi); # vykreslení grafu funkce plot(f(x),x=-Pi..4*Pi): # ekvivalentní zápis pomocí výrazu Systém Maple kreslí grafy funkcí jako spojitou křivku, což v konečném důsledku může znehodnotit graf funkce dané po částech. Vysvětlení ukážeme na následujícím příkladu. > f1:=x->piecewise(x<1,-1,x<2,2,3);# funkce daná po částech > plot(f1,0..3); # vykreslení funkce Předchozí obrázek nelze považovat za graf funkce kvůli svislým úsečkám. Je nutné tyto úsečky odstranit, tzn. povolit nespojitosti. Toho docílíme přidáním třetího parametru do příkazu plot , a to discont=true/false. Hodnota false je implicitní. > plot(f1,0..3,discont=true); # povolení nespojitostíDalší příklad shrne dosavadní poznatky o zobrazování funkcí. Nakresleme funkci tangens. > plot(tan,-2*Pi..2*Pi); # funkce tangensPředchozí obrázek nepřipomíná graf funkce tangens, ale opravdu je jejím grafem. Problémem je, že měřítko na ose y je velmi malé. K odstranění problému využijeme třetí možnou syntaxi příkazu plot . > plot(tan,-2*Pi..2*Pi,-10..10);# omezení hodnot na ose y Při použití parametru discont dostaneme. > plot(tan,-2*Pi..2*Pi,-10..10, discont=true);Systém Maple implicitně nevykresluje souřadnicové osy ve stejném měřítku, a tím někdy dochází ke zkreslení informace o průběhu funkce. Pro vykreslení stejného měřítka na obou osách je určen parametr scaling = constrained / unconstrained Hodnota unconstrained je implicitní. Maple samozřejmě umožňuje vykreslit více grafů do jednoho obrázku, a to pomocí konstrukce plot( [seznam funkcí], proměnná = rozsah ); Zde je nutné zdůraznit, že jde o seznam. Je tedy nutné použít [.]. > plot([sin,cos],0..2*Pi); # vykreslení funkci sin, cosVelmi podobný způsob zápisu se užívá u funkcí zadaných parametrickými rovnicemi. Zde jde o konstrukci plot( [ relace1,relace2 , proměnná = rozsah ] ); Rozdíl je v použití hranatých závorek. > plot([sin,cos,0..2*Pi]);# parametrické zadání kružnice Pro vykreslení více funkcí zadaných parametrickými rovnicemi je nutné zdvojit [.]. > plot([[2*cos(t),2*sin(t),t=0..2*Pi] ,[s^2,s^3,s=-2..2] ], scaling=constrained, color=[red, blue]); Příkaz plot má mnoho dalších parametrů. Uveďme nejčastěji používané
Ještě poznamenejme, že většinu parametrů příkazu plot lze nastavit z kontextového menu vybráním příslušné položky. > fce:=[x,sin(x),cos(x),tan(x)]:> plot(fce, x= -2*Pi..2*Pi, # definiční obor -5..5, # obor hodnot na ose y color=[red, green, blue, black], # definice barev title=`Ukázka užití parametrů příkazu plot`, # titulek obrázku discont=true, # povoleny singularity legend=[`x`,`sin`,`cos`,`tan`], # definice legendy labels=[`OSA x`,`OSA y`] # pojmenování souřadnicových os ); Ještě se krátce zastavme u vykreslování bodů. Jednotlivé body uzavřeme jako seznam do [.]. > body:=[[1,1],[2,2],[3,4],[4,8]]; > plot(body); # implicitně kreslí spojitou křivkuPro vykreslení pouze jednotlivých bodů musíme užít parametru style = point . > plot(body,style=point); # zobrazení pouze bodů
|
Ing. Vladimír Žák |