A plot_knot eljárás

A plot_knot eljárás egy 3 dimenziós ábrát készít a következõ módon:
Legyen
f egy x és y változókkal megadott polinom, ami egy algebrai görbét ír le a komplex síkon az (x,y)=(0,0) pont kivételével. Az eljárás kimenete egy, vagy több zárt görbe (hurok) lesz, amelyet a következõképpen definiálhatunk. (hasonlóan az elõzõ példában leírtakhoz): A komplex síkot (komplex számpárokat) valós számnégyesekként azonosítva a görbe egy síkbeli felületként látható a valós számok felett. Az eljárás kiszámolja ennek a felületnek, és egy valós számnégyesekkel megadott (4 dimenziós) gömb metszetét, ahol a gömb sugara epsilon, középpontja 0. Ez a metszet egy, vagy több, valós számok feletti zárt görbébõl áll. Miután a 4D-s metszetet egy 3D-s gömbre vetítjük (ahogy a példánkban is), a görbéket a plots csomag tubeplot eljárásával rajzolja ki. A görbét megadó f polinomnak nem kell, hogy irreducibilis legyen, viszont négyzetmentesnek kell lennie, különben az eljárás nem mûködik.

Nézzük, mit csinál a plot_knot, a következõ két polinommal:x2-y2=0 és x-y2=0 ! Kezdjünk egy új Maple munkalapot! Ezt a restart paranccsal kezdjük, ami törli az összes változó értékét. Ezután be kell töltenünk az algcurves csomagot, hiszen a plot_knot eljárás ebben található.

Ezen az oldalon a Maple parancsok alatt nem a Maple által megjenenített ábrák láthatóak, mert azok csak egy kimerevített képként jelennének meg. És sokkal izgalmasabb, ha az ábra úgy viselkedik az oldalon, mint a Maple környezetben, azaz egérrel megfogható, és forgatható. Ezért az ábrák Java-alkalmazások a JavaView segítségével, illetve minden ábra mellett egy-egy link is található, ami a görbét VRML-ben jeleníti meg.

> f:=x^2-y^2;

f = x2 - y2

> plot_knot(f,x,y);

  VRML

> plot_knot(f,x,y,radius=0.5,style=PATCH);

VRML

>plot_knot(f,x,y,radius=0.5,tubepoints=7,
style=WIREFRAME);

VRML

> plot_knot(f,x,y,radius=0.5,numpoints=9,
style=PATCH);

VRML

> plot_knot(f,x,y,radius=0.5,tubepoints=25,
numpoints=100,lightmodel=light4);

VRML

 

> f:=x-y^2;

f = x - y2

> plot_knot(f,x,y);

VRML

> plot_knot(f,x,y,radius=0.5,style=PATCH);

VRML

> plot_knot(f,x,y,radius=0.5,style=WIREFRAME,
tubepoints=7);

VRML

> plot_knot(f,x,y,radius=0.5,style=PATCH,
numpoints=11);

VRML

> plot_knot(f,x,y,radius=0.5,tubepoints=25,
numpoints=100,lightmodel=light4);

VRML