3D grafika pomocí Asymptote Roman Plch Do preambule dokumentu načtení balíčku \usepackage[inline]{asymptote} Nyní můžeme použít prostředí asy a do něj umístit zdrojový kód obrázku. Druhou možností je načtení kódu ze samostatného souboru pomocí příkazu \asyinclude. Pro kompilaci dokumentu s grafikou pak použijeme pdflatex dokument.tex asy dokument-*.asy pdflatex dokument.tex Pokud chceme generovat PRC soubor přímo, pak použijeme asy -k -f pdf soubor.asy a získaný PRC soubor vložíme do PDF dokumentu obvyklým způsobem (pro správnou orientaci popisek použijeme add3Djscript=asylabels.js). y x 1 ex \begin{asy} import graph; size (200); real f( real x){ return exp(x); } draw(graph (f,-3,2),red ); xaxis("$x$",-4,3, Arrow ); yaxis("$y$",-1,8, Arrow ); labely("$1$",1,NW); label("$\mathrm {e}^ x$",% (1,f(1)),SE); \end{asy} Funkce dvou proměnných \begin{asy} import graph3; size(200,200,keepAspect = false); currentprojection = orthographic (3,9,5); real f(pair z){ real x=z.x,y=z.y; return abs(x*y)^2; } draw(surface(f,(-2,-2),(2 ,2),xsplinetype = Spline), red,meshpen = black+0.5); xaxis3("$x$",-2,3, Arrow3); yaxis3("$y$",-2,3, Arrow3); zaxis3("$z$",0,7, Arrow3); \end{asy} Plochy dané parametricky \begin{asy} import graph3; size(150,0); real a=3,b=2,c=1; triple F(pair z){ real phi=z.x, theta=z.y; return (a*cos(phi)*cos(theta), b*cos(phi)*sin(theta), c*sin(phi)); } draw(surface(F,(-pi/2,0),(pi/2,2pi),nu =8,Spline),green, meshpen = black +0.5); \end{asy} Rotační tělesa \begin{asy} import solids; size(0,150); currentprojection = orthographic (2,-2,1); path3 p = rotate (90,(1,0,0))*shift(2,2,0)*unitcircle3; revolution r=revolution (p,0,270); draw(surface(r,n=5),orange,meshpen = black+0.5); xaxis3("$x$",0,4); yaxis3("$y$",0,4); zaxis3("$z$",0,4); \end{asy} „Vytažené“ plochy \begin{asy} import three; size(0,150) ; currentprojection = orthographic(1,-2,1); // dve kruznice path3 p = rotate(90,(0,1,0))*unitcircle3; path3 q = shift((2,0,0))*scale3 (2)*p; draw(extrude(p,(-2 ,0,0)),green); draw(extrude(p,q),blue); \end{asy}