Acroflex – interaktivní 2D grafika Roman Plch Dalším zajímavým balíčkem profesora D. P. Storyho je AcroFLeX. http://www.math.uakron.edu/~dpstory/acroflex.html Dalším zajímavým balíčkem profesora D. P. Storyho je AcroFLeX. http://www.math.uakron.edu/~dpstory/acroflex.html Umožňuje vytvořit interaktivní grafickou plochu pro kreslení grafů funkcí jedné proměnné, je možné zadávat i křivky dané parametricky, v polárních souřadnicích a množiny bodů. Nevýhodou balíčku AcroFLeX je nutnost použití komerčního Adobe Acrobatu pro tvorbu výsledného PDF dokumentu (není tedy možné použít pdfTEX). Pro prohlížení dokumentu je třeba použít Adobe Reader verze 9.0 nebo novější. Systém AcroFLeX umožňuje vytvářet grafická okna dvou typů – interaktivní a neinteraktivní. V jedné grafické obrazovce můžeme naráz zobrazit maximálně čtyři funkce. Neinteraktivní obrazovka je vyvolána kliknutím na předem připravený odkaz (s nastavením funkce, intervalu, na kterém ji vykreslujeme a oborem vykreslovaných hodnot). Grafy funkcí y = 1 − x2 a y = x2 − 1. Funkce se protínají v bodech [−1, 0] a [1, 0]. AcroFLeX Graphing D. P. Story Vymaz Hlavička dokumentu \usepackage[% eforms,exerquiz={czech},dljslib={ImplMulti}, graphicxsp={showembeds} ]{aeb_pro} \usepackage{acroflex} \newcommand{\myRMFiles}{/opt/texlive/texmf-local/ tex/latex/rmannot/RMfiles} \pathToAcroFlex{C:/swf} \makePoster[hiresbb]{aflogo}{aflogo} Další doporučené balíčky: \usepackage{pifont} \usepackage{wrapfig} Nastavení grafické obrazovky \dimScreenGraph{100bp}{100bp*3/4} \graphName{graph1} {\graphScreen[poster=aflogo]{\hScreenGraph}{\vScreenGraph} \par\smallskip \makebox[\hScreenGraph][c]{\small\graphClrBtn[\CA{Vymaz}] {35bp}{11bp}}} Příkaz \sgraphLink \sgraphLink{graph=c1,type=cart,connectwith=segment, xInterval={[-1.3,1.3]},yInterval={[-1.3,1.3]}, points=40}{1-x*x}{\textcolor{violet}{$y=1-x^2$}} \sgraphLink{graph=c2,type=cart,connectwith=segment, xInterval={[-1.3,1.3]},yInterval={[-1.3,1.3]}, points=40}{x*x-1}{\textcolor{violet}{$y=x^2-1$}}. Funkce se protínají v~bodech \sgraphLink{graph=p1,type=cart,connectwith=segment, xInterval={[-1.3,1.3]},yInterval={[-1.3,1.3]}}{(-1,0)} {\textcolor{violet}{$[-1,0]$}} a \sgraphLink{graph=p2,type=cart,connectwith=segment, xInterval={[-1.3,1.3]},yInterval={[-1.3,1.3]}}{(1,0)} {\textcolor{violet}{$[1,0]$}}. Plovoucí okno Grafické okno může mít přesně určenou polohu a velikost nebo můžeme použít tzv. plovoucí okno, které se po aktivaci objeví na okraji dokumentu. Funkce y = 1/(x − 1) bude vykreslena do „plovoucího“ okénka. Kliknutím na pravý horní roh plovoucí okno uzavřeme, změnu velikosti provedeme tažením pravého spodního rohu. Změnu umístění provedeme kliknutím na kterýkoliv okraj okna a následným přetažením na požadovanou pozici. AcroFLeX Graphing D. P. Story \begin{wrapfigure}[3]{l}{40bp}% \vspace{-\baselineskip} \iconFloatGraphScreen[poster=aflogo]{40bp}{!} \end{wrapfigure}% Funkce \sgraphLink{type=cart,connectwith=segment, xInterval={[.5,1.5]},yInterval={[-20,20]}, points=200}{1/(x-1)}{\textcolor{violet}{$y= 1/(x-1)$}} bude vykreslena do \uv{plovoucího} okénka. Vybarvení plochy pod grafem funkce Otázka: Určete plochu oblasti ohraničené osou y a grafy funkcí f (x) = cos(x) a g(x) = sin(x), oblast je znázorněna na předcházející grafické obrazovce. AcroFLeX Graphing D. P. Story Vymaz \graphName{graph4} \begin{center} \graphScreen[poster=aflogo]{\hScreenGraph}{\vScreenGraph} \par\smallskip \makebox[\hScreenGraph][c]{\small \graphClrBtn[\CA{Vymaz}]{}{11bp}} \end{center} \textbf{\textcolor{red}{Otázka:}} Určete plochu oblasti ohraničené osou $y$ a grafy funkcí \sgraphLink{graph=a1,type=cart,connectwith=segment, xInterval={[0,pi/4]},yInterval={[0,1.1]},points=40}{cos(x)} {\textcolor{violet}{$ f(x) = \cos(x)$}} a \sgraphLink{graph=a2,type=cart,connectwith=segment, xInterval={[0,pi/4]},yInterval={[0,1.1]},points=40}{sin(x)} {\textcolor{violet}{$ g(x)= \sin(x)$}}. Interaktivní mód § § § § x = . . . n = y = . . . t = . . . U interaktivní obrazovky můžeme vzhled grafu ovlivnit pomocí celé řady parametrů, můžeme ho např. posouvat horizontálně a vertikálně a zvětšovat či zmenšovat. Pro modifikaci výsledku můžeme definovat systém menu a tlačítek. I pro interaktivní grafickou obrazovku můžeme použít předem připravených odkazů. Křivka může být zadána také parametricky x = cos(t); y = sin(t) nebo pomocí polárních souřadnic r = 1 + sin(θ). AcroFLeX Graphing D. P. Story x^2 Vykresli Vymaz 1 Zoom -2 2 40 0 4 0 2*PI \def\graphAndControls{\kern0pt\noindent \graphScreen[poster=aflogo]{\hScreenGraph}{\vScreenGraph}\\[1ex] \makebox[\hScreenGraph][l]{% \funcInputField{\hScreenGraph-50bp-6bp-9bp}{11bp}% }\\[1ex] \makebox[\hScreenGraph][c]{\scriptsize \graphBtn[\CA{Vykresli}\textSize{7}]{}{9bp}\kern1pt \graphClrBtn[\CA{Vymaz}\textSize{7}]{}{9bp}\hfill \hShiftL{\raisebox{1bp}{\reflectbox{\ding{220}}}}\,% \vShiftU{\raisebox{1bp}{\rotatebox{90}{\ding{220}}}}\,\,% \amtShift[\textSize{7}]{12bp}{9bp}\,\,% \vShiftD{\raisebox{1bp}{\rotatebox[origin=c]{-90}{\ding{220}}}} \hShiftR{\raisebox{1bp}{\ding{220}}}\enspace \hfill\zoomInOut[\textSize{7}]{}{9bp}% }\\[1pt]% \makebox[\hScreenGraph][l]{\scriptsize $x = $ \strut\domMin[\textSize{7}]{36bp}{9bp}\ldots \domMax[\textSize{7}]{36bp}{9bp}\hfill $n = $\numPoints[\textSize{7}]{16bp}{9bp} }\\[1pt]% \makebox[\hScreenGraph][l]{\scriptsize $y = $ \rngMin[\textSize{7}]{36bp}{9bp}\ldots \rngMax[\textSize{7}]{36bp}{9bp}% }\\[1pt]%% \makebox[\hScreenGraph][l]{\scriptsize $t = $ \strut\domMinP[\textSize{7}]{36bp}{9bp}\ldots \domMaxP[\textSize{7}]{36bp}{9bp}% } \par } Křivka může být zadána také parametricky \sgraphLink{type=para,connectwith=segment, xInterval={[-1,1]},yInterval={[-1,1]}, tInterval={[0,2*pi]},points=40,populate=true} {cos(t);sin(t)}{\textcolor{violet}{$x=\cos(t)$;$y=\sin(t)$}} nebo pomocí polárních souřadnic \sgraphLink{type=polar,connectwith=segment, xInterval={[-1.5,1.5]},yInterval={[-1,2]},tInterval={[0,2*pi]}, points=60,populate=true}{1+sin(t)} {\textcolor{violet}{$r = 1 +\sin(\theta)$}}.