Maple: Grafikonok rajzolása
A Maple számos lehetőséget kínál adatok és matematikai relációk grafikus megjelenítésére a plots függvény különböző formái által. Számtalan rajzoló függvényei között olyan függvényeket is találunk, melyekkel interaktív rajzok és animációk is készíthetőek. A plot függvény egyike a leggyakrabban használt rajzoló függvényeknek és az egyváltozós függvények különböző fajta megrajzolására alkalmas. A hatékony használat érdekében két alapvető felépítési jellemzőjét kell megismernünk e parancsoknak. Az első az alapvető különbség a beépített, úgy nevezett standard plot függvények és a kiegészítő grafikus függvények, az úgynevezett intelligens plot függvények között. A másik alapvető különbség az a mód, ahogyan a paraméter beállításokat és azok változatait kezelik a különböző plot függvények, és hogyan befolyásolják ezek az egyes vonalak és felületek megrajzolásának menetét a programban.
Standard plot függvények A Mapleben a standard plot függvények adatok vagy matematikai kifejezések részletes, komplex vagy különleges grafikus reprezentációira használhatóak. Számos standard plot függvény létezik. Néhány kötelező paraméter mellet számos opcionális paraméterrel (vonal vastagsága, színe, típusa, koordinátarendszer megrajzolása vagy elrejtése, a nézet megadása, a koordinátarendszer osztásának nagysága, aránya, a grafikonon megjelenő szimbólumok típusa, stb) rendelkeznek ezek a plot parancsok. A plot(f,h,v) függvény adott intervallumon értelmezett egyváltozós függvény megrajzolására használatos. A következő fontos paraméterekkel rendelkezik: f – egy x változójú valós függvény, amelyet megjelenít a plot függvény, h - az x változó értelmezési intervalluma, és egy opcionális v paraméter, ahol v - a függőleges koordinátatengely intervalluma.
> plot(cos(x)+sin(x), x=0..2*Pi);
A Maple rendszer folytonos görbékként igyekszik megjeleníteni a függvények grafikonjait. >plot(tan(x), x=-2*Pi..2*Pi, y=-4..4);
A discont=true paraméter segítségével megszüntethetjük a függvény folytonos megjelenítését az adott intervallumon. >plot(tan(x), x=-2*Pi..2*Pi, y=-4..4, discont=true);
Két függvény grafikonjának együttes megjelenítése különböző színű és típusú vonalakkal. >plot([sin(x), x-x^3/7], x=0..3.14, color=[red,blue], style[point,line]);
Paraméteres görbék rajzolása. >plot([3*sin(t), 5*cos(t), t=-Pi..Pi]);
Polár koordinátákkal megadott görbe kirajzolása, adott színű és típusú görbével. >plot([sin(3*x),x,x=0..2*Pi],coords=polar,thickness=3);
A plot3d(expr1, x=a..b, y=c..d) függvény egy kétváltozós függvényt rajzol ki, melynek képe így egy felület cikk lesz, az xy síkban kijelölt értelmezési tartomány fölött. A paraméterek rendre: expr1 – a megrajzolandó függvény kifejezése, x=a..b – az x koordináta tengelyen az értelmezési intervallum, y=c..d – az y koordináta tengelyen az értelmezési intervallum. >plot3d(sin(x+y),x=0..2*Pi,y=0..2*Pi)
>plot3d(x*exp(-x^2-y^2),x=-2..2,y=-2..2,color=x);
Paraméteres felületdarab megrajzolása. >plot3d([x*sin(x)*cos(y),x*cos(x)*cos(y),x*sin(y)],x=0..Pi,y=0..2*Pi);
Több együttes felületdarab megrajzolása egy grafikonon. >c1:=[cos(x)-2*cos(0.4*y),sin(x)-2*sin(0.4*y),y]; c2:=[cos(x)+2*cos(0.4*y),sin(x)+2*sin(0.4*y),y]; c3:=[cos(x)+2*sin(0.4*y),sin(x)-2*cos(0.4*y),y]; c4:=[cos(x)-2*sin(0.4*y),sin(x)+2*cos(0.4*y),y]; plot3d({c1,c2,c3,c4},x=0..2*Pi,y=0..10,grid=[25,15],style=patch,color=sin(x));
A Maple rendszer alapból a derékszögű Descartes koordinátarendszert használja. Lehetőségünk van azonban más koordinátarendszerek használatára is a coords paraméter segítségével. A plot függvény néhány koordinátarendszer esetén a következőképpen definiálható: -
Derékszögű koordinátarendszer
plot3d(z(x,y), x=a..b, y=c..d); -
Henger koordináta rendszer
plot3d(r(theta,z), theta=a..b, z=c..d, coords=cylindrical); -
Gömbi koordinátarendszer
plot3d(r(theta,phi), theta=a..b, phi=c..d, coords=spherical); Lássunk néhány példát felület nézetekről különböző koordináta rendszerekben. >plot3d(sin(x)+sin(y), x=0..2*Pi, y=0..2*Pi, axes=boxed);
>plot3d(height,angle=0..2*Pi,height=-5..5, coords=cylindrical, axes=normal);
>plot3d(1,t=0..2*Pi,p=0..Pi, coords=spherical, scaling=constrained);
>plot3d(theta,theta=0..8*Pi,z=-1..1, numpoints=1000, axes=framed);
coords=cylindrical,
style=patch,
Bizonyos tulajdonságokat, mint láttuk direkt módon, explicit formában lehet használni a plot illetve a plot3d parancsokban, viszont interaktív módon is elérhetőek ezek a jobb oldali egérgomb lenyomásával a legördülő menüből, melynek parancsai rendre: -
-
Copy – a rajzot memóriatárba menti Style – felület megjelenítési tulajdonságainak megadása (élek megjelenítései, rejtett élek megjelenítése, kockázás, vázháló, alapértelmezett megjelenítése a felületnek, stb), használt szimbólumok típusának megadása, vonalak tulajdonságai (folytonos, szaggatott, pontvonal, szaggatott pontvonal, stb.) és a rács tulajdonságokat lehet beállítani (háromszög vagy derékszögű, téglalapos) Colour – színek beállításai Axes – rendelkezésre álló tengely megjelenítések kiválasztása: normal, boxed, framed vagy none, ha nem akarunk tengelyt megjeleníteni Projection – a nézet beállításai illetve a tengelyek arányának megváltoztatása Export – a megjelenített grafikus ábrázolás elmentése valamilyen grafikus adat fájlba, mint pld. .DXF, .EPS, .GIF, .JPG, .POV, .BMP, .WMF
>plot3d([(-3*cos(2*Pi*u))*4*sin(2*Pi*v)*cos(2*Pi*v), (-3*cos(2*Pi*u))*4*sin(2*Pi*v)*sin(2*Pi*v), 7*cos(2*Pi*v)*sin(2*Pi*u)], u=0..1, v=0..1, numpoints=4000,);
További grafikus eljárások is vannak, melyek a Maple kiegészítő grafikus csomagjában találhatóak. Ezekkel komplex, részletes grafikus megjelenítések érhetőek el, számos különleges függvény például az animate, animate3d, animatecurve, changeccord, contourplot3d, display, implicitplot3d, listplot, pointplot, pointplot3d, polyhedra, spacecurve, tubeplot, stb.
>with(plots); tubeplot([-10*cos(t)-2*cos(5*t)+15*sin(2*t), -15*cos(2*t)+10*sin(t)´ 2*sin(5*t), 10*cos(3*t)], t=0..2*Pi, radius=5*cos(t*Pi/3));