From: Peter Schaefer Date: Fri, 31 Aug 2012 14:41:10 +0000 (+0200) Subject: [src] neue export Skripts X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=22d76dd0f22109f419b456a1745257b455c010a4;p=bacc.git [src] neue export Skripts [doc] einige Kapitel überarbeitet + Grafiken eingebunden [files] dateien ausgemistet --- diff --git a/doc/doc.pdf b/doc/doc.pdf index 78e4134..08b0f58 100644 Binary files a/doc/doc.pdf and b/doc/doc.pdf differ diff --git a/doc/doc.tex b/doc/doc.tex index 7d8b984..b0df9a6 100644 --- a/doc/doc.tex +++ b/doc/doc.tex @@ -54,7 +54,7 @@ \caption{#1} \label{#2} \centering -\subfloat[Lage]{\includegraphics[width=0.5\textwidth]{fig/#2_ref}} +\subfloat[Lage]{\includegraphics[width=0.55\textwidth]{fig/#2_ref}} \subfloat[Koordinaten]{\input{fig/#2_coo}}\\ \subfloat[Elemente]{\input{fig/#2_ele}} \subfloat[Nachbarn]{\input{fig/#2_nei}} @@ -201,7 +201,7 @@ Damit ist $\phi_{\ell}$ die Galerkinapproximation an $\phi$ \subsection{Netze} Für die Diskretisierung des Problems wollen wir nun einige Begriffe definieren. -\begin{defi}[Partition] +\begin{defi}[Rechteck] Wir nennen $T \subseteq \R^3$ ein achsenorientiertes Rechteck, wenn sich aus einem Eckpunkt $C \in \R^3$, alle weiteren Knoten schreiben lassen als $\{ C + a\cdot A, C + a \cdot A + b \cdot B , C + b \cdot B\}$, wobei Vektoren $A,B \in \{(1,0,0)^T,(0,1,0)^T,(0,0,1)^T\}$. und Skalare $a,b\neq0$ sind und der Flächeninhalt $|T| > 0$. \todo{Kanten/Seiten definieren? Anmerken, dass ein Kante als Vektor nur eine dim $\neq 0$?}\\Weiterhin sei \begin{align} C_T &:= \{ c_i:1\leq i \leq 4\} @@ -209,55 +209,73 @@ Für die Diskretisierung des Problems wollen wir nun einige Begriffe definieren. die Menge der Eckpunkte des Rechtecks. \end{defi} -\begin{defi} +\begin{defi}[Partition] Wir nennen $\T_{\ell} = \{T_1,T_2,\dots,T_N\}$ eine Partition von $\Gamma$ falls: \begin{itemize} \item $\overline{\Gamma} = \bigcup_{j=1}^NT_j$ \item alle Elemente aus $T_{\ell}$ abgeschlossene achsenorientierte Rechtecke - \item $\abs{T_j \cap T_k}$ ist entweder ein Knoten, eine Seite oder keines von beiden mit $T_j,T_k\in\T_{\ell}$ und $T_j\neq T_k$ + \item $T_j \cap T_k$ ist entweder ein Knoten, eine Seite oder keines von beiden mit $T_j,T_k\in\T_{\ell}$ und $T_j\neq T_k$ + \item auf einer Kante liegt maximal ein hängender Knoten \end{itemize} \end{defi} -Den Begriff der Triangulierung wollen wir hier noch stärker definieren, da wir pro Seite eines Rechtecks nur einen hängenden Knoten zulassen wollen. -\begin{defi} - Eine Triangulierung $\T$ von $\Gamma$ sei gültig, wenn auf jeder Kante eines Rechtecks maximal ein Knoten liegt. Daraus folgt, dass pro Seite eines Rechtecks +Daraus folgt, dass pro Seite eines Rechtecks \begin{itemize} \item entweder kein Nachbarelement \item oder genau ein Nachbarelement \item oder genau zwei Nachbarelemente \end{itemize} anliegen können. Weiterhin wollen wir auch verlangen, dass der auf der Kante liegende Knoten die Seite halbiert, die beiden Nachbarlemente also die gleiche Seitenlänge an der anliegenden Kante haben. -\end{defi} -\todo{Reguläres Netz auch definieren?} -\todo{+Bild} +\begin{figure}[ht] +\centering +\label{fig_net} +\subfloat[gültige Partition]{\includegraphics[width=0.3\textwidth]{fig/net1}} +\subfloat[ungültige Partition]{\includegraphics[width=0.3\textwidth]{fig/net_wrong}} +\caption{Beispiel Partitionen} +\end{figure} +\psfrag{T}{\scriptsize $T$} +\psfrag{T1}{\scriptsize $T_1$} +\psfrag{T2}{\scriptsize $T_2$} +\psfrag{T3}{\scriptsize $T_3$} +\psfrag{T4}{\scriptsize $T_4$} \subsubsection{Verfeinern} \begin{defi}[Lokale Verfeinerung] \end{defi} +\begin{figure}[ht] +\centering +\label{fig_refType} +\subfloat[Element]{\includegraphics[width=0.25\textwidth]{fig/refType_full}} +\subfloat[Isotrop]{ \includegraphics[width=0.25\textwidth]{fig/refType_2}} +\subfloat[Vertikal]{\includegraphics[width=0.25\textwidth]{fig/refType_3}} +\subfloat[Horizontal]{\includegraphics[width=0.25\textwidth]{fig/refType_4}} +\caption{Teilungsarten} +\end{figure} \begin{defi} - Sei $\T_{\ell/2}$ die aus der Verfeinerung von $\T_{\ell}$ resultierende gültige Triangulierung. + Sei $\T_{\ell/2}$ die aus der Verfeinerung von $\T_{\ell}$ resultierende gültige Partition. \end{defi} -\begin{alg}[Verfeinern] \label{alg:refine} Sei $\T_{\ell} = \{T_1,T_2,\dots,T_N\}$ eine gegebenes Netz und $marked$ eine gegebene Markierung wobei $marked_j \hat =$ Markierung von $T_j$. Nun sei $j = 1$ und gehe so vor: +\begin{alg}[Verfeinern] \label{alg:refine} Sei $\T_{\ell} = \{T_1,T_2,\dots,T_N\}$ eine Partition und $marked$ eine gegebene Markierung wobei $marked_j \hat =$ Markierung von $T_j$. Gehe so vor: \begin{enumerate} \renewcommand{\theenumi}{(\roman{enumi})} + \item ermittle ein markiertes Element $T_j$, welches noch nicht geteilt wurde \label{alg:refine:first} \item \begin{itemize} \item falls ein Eckpunkt von $T_j$ in der Kante eines Nachbarelements liegt \item falls Eckpunkt von $T_j$ Hängender-Knoten ist, \end{itemize} - - markiere zusätzlich den Nachbarn und gehe zu Schritt \ref{alg:refine:last} \label{alg:refine:checkHN} - \item teile $T_j$ wie in $marked_j$ vorgegeben - \item aktualisiere Nachbarinformationen - \item halte fest in welche Elemente $T_j$ zerlegt wurde - \item $j \mapsto j+1$, gehe zu Schritt \ref{alg:refine:checkHN} \label{alg:refine:last} + markiere zusätzlich den Nachbarn, gehe zu Schritt \ref{alg:refine:first} \label{alg:refine:checkHN} + \item teile $T_j$ wie in $marked_j$ vorgegeben, +% \item aktualisiere Nachbarinformationen +% \item halte fest in welche Elemente $T_j$ zerlegt wurde + gehe zu Schritt \ref{alg:refine:first} \label{alg:refine:last} \end{enumerate} \end{alg} \subsection{Fehlerschätzer} -Um eine Aussage über die Genauigkeit der Galerkinapproximation zu erhalten ist es sinnvoll, dass wir einen A-Posteriori Fehlerschätzer definieren. +In diesem Abschnitt definieren wir die a-posteriori Fehlerschätzer, die wir im Folgenden zur Steuerung des adaptiven Algorithmus einsetzen werden. Wir verwenden dazu die $h-h/2$ Strategie aus Ferraz-Leite (Provet. 108),wo die folgende Aussage bewiesen wird. + \begin{defi}[A-Posteriori Fehlerschätzer $\mu$] sollte \begin{enumerate} @@ -554,7 +572,7 @@ so so oder so... \subsection{Datenstruktur} Für die Implementierung in \Matlab~und C++ wollen wollen wir eine einheitliche Datenstruktur einführen. -Die für die Triangulierung $\mathcal{T}_{\ell} = \{T_1\ldots T_M\}$ benötigen Knoten $\mathcal{K}_{\ell} = \{C_1\ldots C_N\}$ stellen wir in einer $ N \times 3$ Matrix dar. Dabei enthält die $j$-te Zeile die Koordinaten des Knoten $C_j$ im $\R^3$. +Die für die Partition $\mathcal{T}_{\ell} = \{T_1\ldots T_M\}$ benötigen Knoten $\mathcal{K}_{\ell} = \{C_1\ldots C_N\}$ stellen wir in einer $ N \times 3$ Matrix dar. Dabei enthält die $j$-te Zeile die Koordinaten des Knoten $C_j$ im $\R^3$. \begin{displaymath} COO[j,1:3] = C_j := (x_j,y_j,z_j)^{T} \text{ wobei } x,y,z \in \R \end{displaymath} @@ -565,24 +583,24 @@ Die Elemente $\mathcal{E}_{\ell}$ werden wir ebenfalls Zeilenweise in einer $M \ Die Knoten wollen wir gegen den Uhrzeigersinn anordnen und der Knoten $C_j$ soll der kleinste bezüglich der Koordinaten sein. \noindent -Für die bessere Handhabung der Elemente beim Verfeinern der Triangulierung, wollen wir auch die Nachbarschaftsrelationen geeignet abspeichern. Dazu überlegen wir uns, dass wir Aufgrund der Netzstabilität maximal zwei Nachbarn pro Kante eines Elements zulassen wollen. +Für die bessere Handhabung der Elemente beim Verfeinern der Partition, wollen wir auch die Nachbarschaftsrelationen geeignet abspeichern. Dazu überlegen wir uns, dass wir Aufgrund der Netzstabilität maximal zwei Nachbarn pro Kante eines Elements zulassen wollen. Wir legen also eine $M \times 8$ Matrix für die Indizes der Nachbarelemente an, wobei die $i$-te Zeile die Nachbarelemente $\{T_{n_1},\ldots,T_{n_8}\}$ zum Element $T_i$ enthält. \begin{displaymath} NEI[i,1:8] = N_i := (n_1,\ldots,n_8) \end{displaymath} Offensichtlich ist $i \notin N_i$. Wir wollen uns aber noch genauer eine geeignete Anordnung für die Nachbarelemente überlegen. Hierbei bezeichnen wir die Seite $[j,k]$ eines Elements als Seite 1 und gegen den Uhrzeigersinn alle weiteren mit $\{2,3,4\}$. Für den einfacheren Zugriff auf die Elemente einer Seite $s$, wollen wir die Nachbarelemente zur Seite $s$ unter den Indizes $n_s$ und $n_{s+4}$ abspeichern. Die Nachbarelemente $\{T_{n_s}, T_{n_{s+4}}\}$ liegen also an der Seite $s$ des Elements. Für Seiten die nur einen Nachbarn $T_{n_s}$ besitzen setzen wir $n_{s+4}=0$ und für Seiten mit keinem Nachbarn setzen wir $n_s = n_{s+4} = 0$. Daraus folgt unmittelbar, dass für $n_s =0$ auch $n_{s+4} = 0$ gilt, die Seite $s$ also keine Nachbarelemente besitzt und umgekehrt folgt aus $n_{s+4} \neq 0$ $n_s \neq 0$, womit die Seite $s$ genau zwei Nachbarelemente hat. -(Siehe Abb.:\ref{exmpl3:nei:part}) +(Siehe Abb.:\ref{exmpl13:nei:part}) \begin{figure}[ht] -\caption{Nachbarschaftsrelationen Element 4 aus Abb.\ref{exmpl3}} -% \label{exmpl3:nei:part} +\caption{Nachbarschaftsrelationen Element 4 aus Abb.\ref{exmpl13}} +% \label{exmpl13:nei:part} \centering \subfloat[Lage]{\includegraphics{fig/Net_Neigh}} \subfloat[Nachbarn]{\input{fig/exmpl3_nei_part}} \end{figure} \noindent -Ein ausführliches Beispiel ist in Abb.\ref{exmpl3} dargestellt. -\showMesh[Beispiel 1.3]{exmpl3} +Ein ausführliches Beispiel ist in Abb.\ref{exmpl13} dargestellt. + @@ -603,7 +621,7 @@ Damit jedem Element $T_i$ eine Teilungsart zugeordnet werden kann, haben wir ein Relevant zum Verfeinern eines Netzes sind also die Koordinaten $COO$, Elemente $ELE$ sowie die Nachbarschaftsrelationen $NTI$ und der Markierungsvektor $marked$. Da wir später einen Fehlerschätzer berechnen wollen, ist es wichtig sich zu jedem Element seine Teilelemente zu merken. Dazu legen wir während der Teilung eine $M \times 4$ Matrix an, in der die maximal vier Elementindizes gespeichert sind. Wenn wir also ein Element in vier gleich große Teile verfeinern, so wird das neue Element links unten das erste sein und alle weiteren folgen gegen den Uhrzeigersinn. Teilen wir ein Element in zwei gleich große Elemente, so werden die doppelt belegten Quadranten auch doppelt eingetragen. Ein gar nicht geteiltes Element wird also vier mal den alten Indizes speichern. Dadurch wird sicher gestellt, dass das arithmetische Mittel über die Elemente immer gültig auszuführen ist. -(Siehe Figur:\ref{exmpl3:f2s}) +(Siehe Figur:\ref{exmpl13:f2s}) $[\T_{\ell/2}, F2S ] = refineQuad(\T_{\ell}, marked);$\\ $[COO_{fine}, ELE_{fine}, NEI_{fine}, F2S ] = refineQuad(COO, ELE, NEI, marked);$ @@ -611,8 +629,8 @@ $[COO_{fine}, ELE_{fine}, NEI_{fine}, F2S ] = refineQuad(COO, ELE, NEI, marked); \begin{figure}[ht] \caption{VaterSohn} \centering -\subfloat[VaterSohn aus \ref{exmpl2}]{\input{fig/exmpl2_f2s}} -\subfloat[VaterSohn aus \ref{exmpl3}]{\input{fig/exmpl3_f2s}} +\subfloat[VaterSohn aus \ref{exmpl12}]{\input{fig/exmpl12_f2s}} +\subfloat[VaterSohn aus \ref{exmpl13}]{\input{fig/exmpl13_f2s}} \end{figure} @@ -735,10 +753,22 @@ Zum Plotten (Abb.\ref{exmplAA_2DQuad})werden noch folgende Schritte ausgeführt \item SemiAnalytisch über Seite \end{itemize} \item Fehlerschätzer untersuchen und prüfen ob sie sich wie erwartet Verhalten - \end{itemize} +\showMesh[Beispiel 1.1]{exmpl11} +\showMesh[Beispiel 1.2]{exmpl12} +\showMesh[Beispiel 1.3]{exmpl13} + + +\begin{figure}[ht] +\caption{2D Quad adaptiv anisotrop vollanalytisch $V\phi = 1$} +\centering +\label{exmplAA_2DQuad} +\subfloat[Fehler]{\includegraphics[width=0.5\textwidth]{fig/exmplAA_2DQuad_error}} +\subfloat[Energie Norm]{\includegraphics[width=0.5\textwidth]{fig/exmplAA_2DQuad_norm}} +\end{figure} + \section{Anhang Code} \todo{ Die wichtigsten Funktionen @@ -751,13 +781,7 @@ Die wichtigsten Funktionen \end{enumerate} } -\begin{figure}[ht] -\caption{2D Quad adaptiv anisotrop vollanalytisch $V\phi = 1$} -\centering -\label{exmplAA_2DQuad} -\subfloat[Fehler]{\includegraphics[width=0.5\textwidth]{fig/exmplAA_2DQuad_error}} -\subfloat[Energie Norm]{\includegraphics[width=0.5\textwidth]{fig/exmplAA_2DQuad_norm}} -\end{figure} + \end{document} \ No newline at end of file diff --git a/doc/fig/exmpl11_coo.tex b/doc/fig/exmpl11_coo.tex new file mode 100644 index 0000000..dfdeaff --- /dev/null +++ b/doc/fig/exmpl11_coo.tex @@ -0,0 +1,13 @@ +\begin{tabular}{>{\columncolor{gray}}rccc} +\rowcolor{gray} + Index & x1 & x2 & x3\\ + 1 & 0 & 0 & 0\\ + 2 & 0 & 0.5 & 0\\ + 3 & 0 & 1 & 0\\ + 4 & 0.5 & 0 & 0\\ + 5 & 0.5 & 0.5 & 0\\ + 6 & 0.5 & 1 & 0\\ + 7 & 1 & 0 & 0\\ + 8 & 1 & 0.5 & 0\\ + 9 & 1 & 1 & 0 +\end{tabular} diff --git a/doc/fig/exmpl11_ele.tex b/doc/fig/exmpl11_ele.tex new file mode 100644 index 0000000..297b730 --- /dev/null +++ b/doc/fig/exmpl11_ele.tex @@ -0,0 +1,9 @@ +\begin{tabular}{>{\columncolor{gray}}rcccc} +\rowcolor{gray} + Index & c1 & c2 & c3 & c4\\ + 1 & 2 & 5 & 6 & 3\\ + 2 & 5 & 8 & 9 & 6\\ + 3 & 4 & 7 & 8 & 5\\ + 4 & 1 & 4 & 5 & 2 +\end{tabular} +\label{exmpl11:ele} \ No newline at end of file diff --git a/doc/fig/exmpl11_f2s.tex b/doc/fig/exmpl11_f2s.tex new file mode 100644 index 0000000..1e92f56 --- /dev/null +++ b/doc/fig/exmpl11_f2s.tex @@ -0,0 +1,5 @@ +\begin{tabular}{>{\columncolor{gray}}rcccc} +\rowcolor{gray} + Index & e1 & e2 & e3 & e4\\ +\end{tabular} +\label{exmpl11:f2s} \ No newline at end of file diff --git a/doc/fig/exmpl11_nei.tex b/doc/fig/exmpl11_nei.tex new file mode 100644 index 0000000..aff8b43 --- /dev/null +++ b/doc/fig/exmpl11_nei.tex @@ -0,0 +1,9 @@ +\begin{tabular}{>{\columncolor{gray}}rcccccccc} +\rowcolor{gray} + Index & n1 & n2 & n3 & n4 & n5 & n6 & n7 & n8\\ + 1 & 4 & 2 & 0 & 0 & 0 & 0 & 0 & 0\\ + 2 & 3 & 0 & 0 & 1 & 0 & 0 & 0 & 0\\ + 3 & 0 & 0 & 2 & 4 & 0 & 0 & 0 & 0\\ + 4 & 0 & 3 & 1 & 0 & 0 & 0 & 0 & 0 +\end{tabular} +\label{exmpl11:nei} \ No newline at end of file diff --git a/doc/fig/exmpl11_ref.eps b/doc/fig/exmpl11_ref.eps new file mode 100644 index 0000000..c99aa3a --- /dev/null +++ b/doc/fig/exmpl11_ref.eps @@ -0,0 +1,296 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/exmpl11_ref.eps +%%CreationDate: 08/31/2012 13:37:03 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 58 198 543 583 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 58 198 543 583 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 334 236 4045 3206 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +0 2937 3720 0 0 -2937 624 3206 4 MP +PP +-3720 0 0 2937 3720 0 0 -2937 624 3206 5 MP stroke +2.77778 w +DO +SO +4.16667 w +0 sg + 624 3206 mt 4344 3206 L + 624 3206 mt 624 269 L + 934 3206 mt 934 3168 L +%%IncludeResource: font Helvetica +/Helvetica /ISOLatin1Encoding 83.3333 FMSR + + 911 3307 mt +(0) s +1554 3206 mt 1554 3168 L +1497 3307 mt +(0.2) s +2174 3206 mt 2174 3168 L +2117 3307 mt +(0.4) s +2794 3206 mt 2794 3168 L +2737 3307 mt +(0.6) s +3414 3206 mt 3414 3168 L +3357 3307 mt +(0.8) s +4034 3206 mt 4034 3168 L +4011 3307 mt +(1) s + 624 2961 mt 661 2961 L + 554 2991 mt +(0) s + 624 2472 mt 661 2472 L + 485 2502 mt +(0.2) s + 624 1982 mt 661 1982 L + 485 2012 mt +(0.4) s + 624 1493 mt 661 1493 L + 485 1523 mt +(0.6) s + 624 1004 mt 661 1004 L + 485 1034 mt +(0.8) s + 624 514 mt 661 514 L + 554 544 mt +(1) s +gs 624 269 3721 2937 MR c np +8.33333 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 1224 -1550 0 0 -1224 1550 0 934 1738 5 MP stroke +0 1224 -1550 0 0 -1224 1550 0 2484 1738 5 MP stroke +0 1223 -1550 0 0 -1223 1550 0 2484 2961 5 MP stroke +0 1223 -1550 0 0 -1223 1550 0 934 2961 5 MP stroke +gr + +8.33333 w +c8 +0 sg +1709 1156 mt +(\(1\)) s +3259 1156 mt +(\(2\)) s +3259 2379 mt +(\(3\)) s +1709 2379 mt +(\(4\)) s +/c9 { 1.000000 0.000000 0.000000 sr} bdef +c9 + 965 2917 mt +(1) s + 965 1694 mt +(2) s + 965 471 mt +(3) s +2515 2917 mt +(4) s +2515 1694 mt +(5) s +2515 471 mt +(6) s +4065 2917 mt +(7) s +4065 1694 mt +(8) s +4065 471 mt +(9) s +0 sg +2462 3407 mt +(x) s + 428 1760 mt -90 rotate +(y) s +90 rotate +4.16667 w + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/exmpl11_ref.pdf b/doc/fig/exmpl11_ref.pdf new file mode 100644 index 0000000..a9d943e Binary files /dev/null and b/doc/fig/exmpl11_ref.pdf differ diff --git a/doc/fig/exmpl12_coo.tex b/doc/fig/exmpl12_coo.tex new file mode 100644 index 0000000..c66ba57 --- /dev/null +++ b/doc/fig/exmpl12_coo.tex @@ -0,0 +1,21 @@ +\begin{tabular}{>{\columncolor{gray}}rccc} +\rowcolor{gray} + Index & x1 & x2 & x3\\ + 1 & 0 & 0 & 0\\ + 2 & 0 & 0.25 & 0\\ + 3 & 0 & 0.5 & 0\\ + 4 & 0 & 0.75 & 0\\ + 5 & 0 & 1 & 0\\ + 6 & 0.25 & 0.5 & 0\\ + 7 & 0.25 & 0.75 & 0\\ + 8 & 0.25 & 1 & 0\\ + 9 & 0.5 & 0 & 0\\ + 10 & 0.5 & 0.25 & 0\\ + 11 & 0.5 & 0.5 & 0\\ + 12 & 0.5 & 0.75 & 0\\ + 13 & 0.5 & 1 & 0\\ + 14 & 1 & 0 & 0\\ + 15 & 1 & 0.5 & 0\\ + 16 & 1 & 0.75 & 0\\ + 17 & 1 & 1 & 0 +\end{tabular} diff --git a/doc/fig/exmpl12_ele.tex b/doc/fig/exmpl12_ele.tex new file mode 100644 index 0000000..641d48d --- /dev/null +++ b/doc/fig/exmpl12_ele.tex @@ -0,0 +1,14 @@ +\begin{tabular}{>{\columncolor{gray}}rcccc} +\rowcolor{gray} + Index & c1 & c2 & c3 & c4\\ + 1 & 4 & 7 & 8 & 5\\ + 2 & 12 & 16 & 17 & 13\\ + 3 & 9 & 14 & 15 & 11\\ + 4 & 2 & 10 & 11 & 3\\ + 5 & 3 & 6 & 7 & 4\\ + 6 & 11 & 15 & 16 & 12\\ + 7 & 1 & 9 & 10 & 2\\ + 8 & 7 & 12 & 13 & 8\\ + 9 & 6 & 11 & 12 & 7 +\end{tabular} +\label{exmpl12:ele} \ No newline at end of file diff --git a/doc/fig/exmpl12_f2s.tex b/doc/fig/exmpl12_f2s.tex new file mode 100644 index 0000000..0a1f580 --- /dev/null +++ b/doc/fig/exmpl12_f2s.tex @@ -0,0 +1,9 @@ +\begin{tabular}{>{\columncolor{gray}}rcccc} +\rowcolor{gray} + Index & e1 & e2 & e3 & e4\\ + 1 & 5 & 9 & 8 & 1\\ + 2 & 6 & 6 & 2 & 2\\ + 3 & 3 & 3 & 3 & 3\\ + 4 & 7 & 7 & 4 & 4 +\end{tabular} +\label{exmpl12:f2s} \ No newline at end of file diff --git a/doc/fig/exmpl12_nei.tex b/doc/fig/exmpl12_nei.tex new file mode 100644 index 0000000..0a10a4a --- /dev/null +++ b/doc/fig/exmpl12_nei.tex @@ -0,0 +1,14 @@ +\begin{tabular}{>{\columncolor{gray}}rcccccccc} +\rowcolor{gray} + Index & n1 & n2 & n3 & n4 & n5 & n6 & n7 & n8\\ + 1 & 5 & 8 & 0 & 0 & 0 & 0 & 0 & 0\\ + 2 & 6 & 0 & 0 & 8 & 0 & 0 & 0 & 0\\ + 3 & 0 & 0 & 6 & 7 & 0 & 0 & 0 & 4\\ + 4 & 7 & 3 & 5 & 0 & 0 & 0 & 9 & 0\\ + 5 & 4 & 9 & 1 & 0 & 0 & 0 & 0 & 0\\ + 6 & 3 & 0 & 2 & 9 & 0 & 0 & 0 & 0\\ + 7 & 0 & 3 & 4 & 0 & 0 & 0 & 0 & 0\\ + 8 & 9 & 2 & 0 & 1 & 0 & 0 & 0 & 0\\ + 9 & 4 & 6 & 8 & 5 & 0 & 0 & 0 & 0 +\end{tabular} +\label{exmpl12:nei} \ No newline at end of file diff --git a/doc/fig/exmpl12_ref.eps b/doc/fig/exmpl12_ref.eps new file mode 100644 index 0000000..c205770 --- /dev/null +++ b/doc/fig/exmpl12_ref.eps @@ -0,0 +1,327 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/exmpl12_ref.eps +%%CreationDate: 08/31/2012 13:37:03 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 58 198 543 583 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 58 198 543 583 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 334 236 4045 3206 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +0 2937 3720 0 0 -2937 624 3206 4 MP +PP +-3720 0 0 2937 3720 0 0 -2937 624 3206 5 MP stroke +2.77778 w +DO +SO +4.16667 w +0 sg + 624 3206 mt 4344 3206 L + 624 3206 mt 624 269 L + 934 3206 mt 934 3168 L +%%IncludeResource: font Helvetica +/Helvetica /ISOLatin1Encoding 83.3333 FMSR + + 911 3307 mt +(0) s +1554 3206 mt 1554 3168 L +1497 3307 mt +(0.2) s +2174 3206 mt 2174 3168 L +2117 3307 mt +(0.4) s +2794 3206 mt 2794 3168 L +2737 3307 mt +(0.6) s +3414 3206 mt 3414 3168 L +3357 3307 mt +(0.8) s +4034 3206 mt 4034 3168 L +4011 3307 mt +(1) s + 624 2961 mt 661 2961 L + 554 2991 mt +(0) s + 624 2472 mt 661 2472 L + 485 2502 mt +(0.2) s + 624 1982 mt 661 1982 L + 485 2012 mt +(0.4) s + 624 1493 mt 661 1493 L + 485 1523 mt +(0.6) s + 624 1004 mt 661 1004 L + 485 1034 mt +(0.8) s + 624 514 mt 661 514 L + 554 544 mt +(1) s +gs 624 269 3721 2937 MR c np +8.33333 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 612 -775 0 0 -612 775 0 934 1126 5 MP stroke +0 612 -1550 0 0 -612 1550 0 2484 1126 5 MP stroke +0 1223 -1550 0 0 -1223 1550 0 2484 2961 5 MP stroke +0 611 -1550 0 0 -611 1550 0 934 2349 5 MP stroke +0 612 -775 0 0 -612 775 0 934 1738 5 MP stroke +0 612 -1550 0 0 -612 1550 0 2484 1738 5 MP stroke +0 612 -1550 0 0 -612 1550 0 934 2961 5 MP stroke +0 612 -775 0 0 -612 775 0 1709 1126 5 MP stroke +0 612 -775 0 0 -612 775 0 1709 1738 5 MP stroke +gr + +8.33333 w +c8 +0 sg +1321 850 mt +(\(1\)) s +3259 850 mt +(\(2\)) s +3259 2379 mt +(\(3\)) s +1709 2073 mt +(\(4\)) s +1321 1462 mt +(\(5\)) s +3259 1462 mt +(\(6\)) s +1709 2685 mt +(\(7\)) s +2096 850 mt +(\(8\)) s +2096 1462 mt +(\(9\)) s +/c9 { 1.000000 0.000000 0.000000 sr} bdef +c9 + 965 2917 mt +(1) s + 965 2306 mt +(2) s + 965 1694 mt +(3) s + 965 1082 mt +(4) s + 965 471 mt +(5) s +1740 1694 mt +(6) s +1740 1082 mt +(7) s +1740 471 mt +(8) s +2515 2917 mt +(9) s +2515 2306 mt +(10) s +2515 1694 mt +(11) s +2515 1082 mt +(12) s +2515 471 mt +(13) s +4065 2917 mt +(14) s +4065 1694 mt +(15) s +4065 1082 mt +(16) s +4065 471 mt +(17) s +0 sg +2462 3407 mt +(x) s + 428 1760 mt -90 rotate +(y) s +90 rotate +4.16667 w + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/exmpl12_ref.pdf b/doc/fig/exmpl12_ref.pdf new file mode 100644 index 0000000..3a43248 Binary files /dev/null and b/doc/fig/exmpl12_ref.pdf differ diff --git a/doc/fig/exmpl13_coo.tex b/doc/fig/exmpl13_coo.tex new file mode 100644 index 0000000..4b984eb --- /dev/null +++ b/doc/fig/exmpl13_coo.tex @@ -0,0 +1,27 @@ +\begin{tabular}{>{\columncolor{gray}}rccc} +\rowcolor{gray} + Index & x1 & x2 & x3\\ + 1 & 0 & 0 & 0\\ + 2 & 0 & 0.25 & 0\\ + 3 & 0 & 0.5 & 0\\ + 4 & 0 & 0.625 & 0\\ + 5 & 0 & 0.75 & 0\\ + 6 & 0 & 1 & 0\\ + 7 & 0.125 & 0.5 & 0\\ + 8 & 0.125 & 0.625 & 0\\ + 9 & 0.125 & 0.75 & 0\\ + 10 & 0.25 & 0.25 & 0\\ + 11 & 0.25 & 0.5 & 0\\ + 12 & 0.25 & 0.625 & 0\\ + 13 & 0.25 & 0.75 & 0\\ + 14 & 0.25 & 1 & 0\\ + 15 & 0.5 & 0 & 0\\ + 16 & 0.5 & 0.25 & 0\\ + 17 & 0.5 & 0.5 & 0\\ + 18 & 0.5 & 0.75 & 0\\ + 19 & 0.5 & 1 & 0\\ + 20 & 1 & 0 & 0\\ + 21 & 1 & 0.5 & 0\\ + 22 & 1 & 0.75 & 0\\ + 23 & 1 & 1 & 0 +\end{tabular} diff --git a/doc/fig/exmpl13_ele.tex b/doc/fig/exmpl13_ele.tex new file mode 100644 index 0000000..fffad66 --- /dev/null +++ b/doc/fig/exmpl13_ele.tex @@ -0,0 +1,18 @@ +\begin{tabular}{>{\columncolor{gray}}rcccc} +\rowcolor{gray} + Index & c1 & c2 & c3 & c4\\ + 1 & 5 & 13 & 14 & 6\\ + 2 & 18 & 22 & 23 & 19\\ + 3 & 15 & 20 & 21 & 17\\ + 4 & 2 & 10 & 11 & 3\\ + 5 & 4 & 8 & 9 & 5\\ + 6 & 17 & 21 & 22 & 18\\ + 7 & 1 & 15 & 16 & 2\\ + 8 & 13 & 18 & 19 & 14\\ + 9 & 11 & 17 & 18 & 13\\ + 10 & 3 & 7 & 8 & 4\\ + 11 & 8 & 12 & 13 & 9\\ + 12 & 10 & 16 & 17 & 11\\ + 13 & 7 & 11 & 12 & 8 +\end{tabular} +\label{exmpl13:ele} \ No newline at end of file diff --git a/doc/fig/exmpl13_f2s.tex b/doc/fig/exmpl13_f2s.tex new file mode 100644 index 0000000..f5e0517 --- /dev/null +++ b/doc/fig/exmpl13_f2s.tex @@ -0,0 +1,14 @@ +\begin{tabular}{>{\columncolor{gray}}rcccc} +\rowcolor{gray} + Index & e1 & e2 & e3 & e4\\ + 1 & 1 & 1 & 1 & 1\\ + 2 & 2 & 2 & 2 & 2\\ + 3 & 3 & 3 & 3 & 3\\ + 4 & 4 & 12 & 12 & 4\\ + 5 & 10 & 13 & 11 & 5\\ + 6 & 6 & 6 & 6 & 6\\ + 7 & 7 & 7 & 7 & 7\\ + 8 & 8 & 8 & 8 & 8\\ + 9 & 9 & 9 & 9 & 9 +\end{tabular} +\label{exmpl13:f2s} \ No newline at end of file diff --git a/doc/fig/exmpl13_nei.tex b/doc/fig/exmpl13_nei.tex new file mode 100644 index 0000000..af1bcd7 --- /dev/null +++ b/doc/fig/exmpl13_nei.tex @@ -0,0 +1,18 @@ +\begin{tabular}{>{\columncolor{gray}}rcccccccc} +\rowcolor{gray} + Index & n1 & n2 & n3 & n4 & n5 & n6 & n7 & n8\\ + 1 & 11 & 8 & 0 & 0 & 5 & 0 & 0 & 0\\ + 2 & 6 & 0 & 0 & 8 & 0 & 0 & 0 & 0\\ + 3 & 0 & 0 & 6 & 7 & 0 & 0 & 0 & 12\\ + 4 & 7 & 12 & 10 & 0 & 0 & 0 & 13 & 0\\ + 5 & 10 & 11 & 1 & 0 & 0 & 0 & 0 & 0\\ + 6 & 3 & 0 & 2 & 9 & 0 & 0 & 0 & 0\\ + 7 & 0 & 3 & 4 & 0 & 0 & 0 & 12 & 0\\ + 8 & 9 & 2 & 0 & 1 & 0 & 0 & 0 & 0\\ + 9 & 12 & 6 & 8 & 13 & 0 & 0 & 0 & 11\\ + 10 & 4 & 13 & 5 & 0 & 0 & 0 & 0 & 0\\ + 11 & 13 & 9 & 1 & 5 & 0 & 0 & 0 & 0\\ + 12 & 7 & 3 & 9 & 4 & 0 & 0 & 0 & 0\\ + 13 & 4 & 9 & 11 & 10 & 0 & 0 & 0 & 0 +\end{tabular} +\label{exmpl13:nei} \ No newline at end of file diff --git a/doc/fig/exmpl13_ref.eps b/doc/fig/exmpl13_ref.eps new file mode 100644 index 0000000..f0407f4 --- /dev/null +++ b/doc/fig/exmpl13_ref.eps @@ -0,0 +1,351 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/exmpl13_ref.eps +%%CreationDate: 08/31/2012 13:37:04 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 58 198 543 583 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 58 198 543 583 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 334 236 4045 3206 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +0 2937 3720 0 0 -2937 624 3206 4 MP +PP +-3720 0 0 2937 3720 0 0 -2937 624 3206 5 MP stroke +2.77778 w +DO +SO +4.16667 w +0 sg + 624 3206 mt 4344 3206 L + 624 3206 mt 624 269 L + 934 3206 mt 934 3168 L +%%IncludeResource: font Helvetica +/Helvetica /ISOLatin1Encoding 83.3333 FMSR + + 911 3307 mt +(0) s +1554 3206 mt 1554 3168 L +1497 3307 mt +(0.2) s +2174 3206 mt 2174 3168 L +2117 3307 mt +(0.4) s +2794 3206 mt 2794 3168 L +2737 3307 mt +(0.6) s +3414 3206 mt 3414 3168 L +3357 3307 mt +(0.8) s +4034 3206 mt 4034 3168 L +4011 3307 mt +(1) s + 624 2961 mt 661 2961 L + 554 2991 mt +(0) s + 624 2472 mt 661 2472 L + 485 2502 mt +(0.2) s + 624 1982 mt 661 1982 L + 485 2012 mt +(0.4) s + 624 1493 mt 661 1493 L + 485 1523 mt +(0.6) s + 624 1004 mt 661 1004 L + 485 1034 mt +(0.8) s + 624 514 mt 661 514 L + 554 544 mt +(1) s +gs 624 269 3721 2937 MR c np +8.33333 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 612 -775 0 0 -612 775 0 934 1126 5 MP stroke +0 612 -1550 0 0 -612 1550 0 2484 1126 5 MP stroke +0 1223 -1550 0 0 -1223 1550 0 2484 2961 5 MP stroke +0 611 -775 0 0 -611 775 0 934 2349 5 MP stroke +0 306 -387 0 0 -306 387 0 934 1432 5 MP stroke +0 612 -1550 0 0 -612 1550 0 2484 1738 5 MP stroke +0 612 -1550 0 0 -612 1550 0 934 2961 5 MP stroke +0 612 -775 0 0 -612 775 0 1709 1126 5 MP stroke +0 612 -775 0 0 -612 775 0 1709 1738 5 MP stroke +0 306 -387 0 0 -306 387 0 934 1738 5 MP stroke +0 306 -388 0 0 -306 388 0 1321 1432 5 MP stroke +0 611 -775 0 0 -611 775 0 1709 2349 5 MP stroke +0 306 -388 0 0 -306 388 0 1321 1738 5 MP stroke +gr + +8.33333 w +c8 +0 sg +1321 850 mt +(\(1\)) s +3259 850 mt +(\(2\)) s +3259 2379 mt +(\(3\)) s +1321 2073 mt +(\(4\)) s +1127 1309 mt +(\(5\)) s +3259 1462 mt +(\(6\)) s +1709 2685 mt +(\(7\)) s +2096 850 mt +(\(8\)) s +2096 1462 mt +(\(9\)) s +1127 1615 mt +(\(10\)) s +1515 1309 mt +(\(11\)) s +2096 2073 mt +(\(12\)) s +1515 1615 mt +(\(13\)) s +/c9 { 1.000000 0.000000 0.000000 sr} bdef +c9 + 965 2917 mt +(1) s + 965 2306 mt +(2) s + 965 1694 mt +(3) s + 965 1388 mt +(4) s + 965 1082 mt +(5) s + 965 471 mt +(6) s +1352 1694 mt +(7) s +1352 1388 mt +(8) s +1352 1082 mt +(9) s +1740 2306 mt +(10) s +1740 1694 mt +(11) s +1740 1388 mt +(12) s +1740 1082 mt +(13) s +1740 471 mt +(14) s +2515 2917 mt +(15) s +2515 2306 mt +(16) s +2515 1694 mt +(17) s +2515 1082 mt +(18) s +2515 471 mt +(19) s +4065 2917 mt +(20) s +4065 1694 mt +(21) s +4065 1082 mt +(22) s +4065 471 mt +(23) s +0 sg +2462 3407 mt +(x) s + 428 1760 mt -90 rotate +(y) s +90 rotate +4.16667 w + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/exmpl13_ref.pdf b/doc/fig/exmpl13_ref.pdf new file mode 100644 index 0000000..f89ad89 Binary files /dev/null and b/doc/fig/exmpl13_ref.pdf differ diff --git a/doc/fig/net1.eps b/doc/fig/net1.eps new file mode 100644 index 0000000..fe41f4d --- /dev/null +++ b/doc/fig/net1.eps @@ -0,0 +1,220 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/net1.eps +%%CreationDate: 08/31/2012 13:37:04 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 127 254 508 556 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 127 254 508 556 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 916 463 3169 2517 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +gs 624 269 3721 2937 MR c np +16.6667 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 612 -775 0 0 -612 775 0 934 1126 5 MP stroke +0 612 -1550 0 0 -612 1550 0 2484 1126 5 MP stroke +0 1223 -1550 0 0 -1223 1550 0 2484 2961 5 MP stroke +0 611 -775 0 0 -611 775 0 934 2349 5 MP stroke +0 306 -387 0 0 -306 387 0 934 1432 5 MP stroke +0 612 -1550 0 0 -612 1550 0 2484 1738 5 MP stroke +0 612 -1550 0 0 -612 1550 0 934 2961 5 MP stroke +0 612 -775 0 0 -612 775 0 1709 1126 5 MP stroke +0 612 -775 0 0 -612 775 0 1709 1738 5 MP stroke +0 306 -387 0 0 -306 387 0 934 1738 5 MP stroke +0 306 -388 0 0 -306 388 0 1321 1432 5 MP stroke +0 611 -775 0 0 -611 775 0 1709 2349 5 MP stroke +0 306 -388 0 0 -306 388 0 1321 1738 5 MP stroke +4.16667 w +gr + +c8 + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/net1.pdf b/doc/fig/net1.pdf new file mode 100644 index 0000000..e2e4af4 --- /dev/null +++ b/doc/fig/net1.pdf @@ -0,0 +1,85 @@ +%PDF-1.4 +%Ç쏢 +5 0 obj +<> +stream +xœuRIn! ¼ó +¿€˜¥ixAÎy@”Œ5‘&9äûMc÷Øiq@Ta—ëhàXûþÖÌÓe…돹™b])ÞC„m†€.Á÷;¼Â—qp5ƒÓ꬇°dìWæÃx„ß~û9nm( í—gºbï}îŠÍ”47’Bޘ¢€I©Æå2 +$Õ°.‡óFç)1ß˳VL÷¿XrHÓÅmd yfB¥Ê×Ô=Ãph"Ü?éL’˜ÃÊ.w0uáX–1¾ l°'ÒF¡qpaÿº©ž¥ÏÒGé ÊÆ*Ÿv`´7 +~lø9š+’ÔΊ¡¡«¤©,V9v:e_ üã‰Ò°æ5=5•Š*I."©âT(ÔÇUE´tϟ4Eõ¬c^eÓ휥2¬v᥯?Q6ò}endstream +endobj +6 0 obj +310 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +8 0 obj +<> +endobj +9 0 obj +<>stream + + + + + +2012-08-31T13:37:04+02:00 +2012-08-31T13:37:04+02:00 +MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. + +../doc/fig/net1.eps + + + + + +endstream +endobj +2 0 obj +<>endobj +xref +0 10 +0000000000 65535 f +0000000604 00000 n +0000002300 00000 n +0000000545 00000 n +0000000414 00000 n +0000000015 00000 n +0000000395 00000 n +0000000668 00000 n +0000000709 00000 n +0000000738 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +/ID [] +>> +startxref +2613 +%%EOF diff --git a/doc/fig/net_wrong.eps b/doc/fig/net_wrong.eps new file mode 100644 index 0000000..2ee7683 --- /dev/null +++ b/doc/fig/net_wrong.eps @@ -0,0 +1,212 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/net_wrong.eps +%%CreationDate: 08/31/2012 13:37:04 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 127 254 508 556 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 127 254 508 556 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 916 463 3169 2517 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +gs 624 269 3721 2937 MR c np +16.6667 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 612 -1550 0 0 -612 1550 0 2484 1126 5 MP stroke +0 611 -1550 0 0 -611 1550 0 2484 2349 5 MP stroke +0 612 -1550 0 0 -612 1550 0 2484 1738 5 MP stroke +0 612 -1550 0 0 -612 1550 0 2484 2961 5 MP stroke +0 2447 -3100 0 0 -2447 3100 0 934 2961 5 MP stroke +4.16667 w +gr + +c8 + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/net_wrong.pdf b/doc/fig/net_wrong.pdf new file mode 100644 index 0000000..a84ed76 Binary files /dev/null and b/doc/fig/net_wrong.pdf differ diff --git a/doc/fig/refType_1.eps b/doc/fig/refType_1.eps new file mode 100644 index 0000000..0199da9 --- /dev/null +++ b/doc/fig/refType_1.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/refType_1.eps +%%CreationDate: 08/31/2012 16:03:30 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 127 254 508 556 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 127 254 508 556 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 916 463 3169 2517 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +gs 624 269 3721 2937 MR c np +16.6667 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 2447 -3100 0 0 -2447 3100 0 934 2961 5 MP stroke +gr + +16.6667 w +c8 +0 sg +%%IncludeResource: font Helvetica +/Helvetica /ISOLatin1Encoding 83.3333 FMSR + +2484 1768 mt +(T1) s +4.16667 w + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/refType_1.pdf b/doc/fig/refType_1.pdf new file mode 100644 index 0000000..0d3c90d Binary files /dev/null and b/doc/fig/refType_1.pdf differ diff --git a/doc/fig/refType_2.eps b/doc/fig/refType_2.eps new file mode 100644 index 0000000..fccecdc --- /dev/null +++ b/doc/fig/refType_2.eps @@ -0,0 +1,224 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/refType_2.eps +%%CreationDate: 08/31/2012 16:03:31 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 127 254 508 556 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 127 254 508 556 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 916 463 3169 2517 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +gs 624 269 3721 2937 MR c np +16.6667 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 1224 -1550 0 0 -1224 1550 0 934 1738 5 MP stroke +0 1224 -1550 0 0 -1224 1550 0 2484 1738 5 MP stroke +0 1223 -1550 0 0 -1223 1550 0 2484 2961 5 MP stroke +0 1223 -1550 0 0 -1223 1550 0 934 2961 5 MP stroke +gr + +16.6667 w +c8 +0 sg +%%IncludeResource: font Helvetica +/Helvetica /ISOLatin1Encoding 83.3333 FMSR + +1709 1156 mt +(T1) s +3259 1156 mt +(T2) s +3259 2379 mt +(T3) s +1709 2379 mt +(T4) s +4.16667 w + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/refType_2.pdf b/doc/fig/refType_2.pdf new file mode 100644 index 0000000..d7bee6e Binary files /dev/null and b/doc/fig/refType_2.pdf differ diff --git a/doc/fig/refType_3.eps b/doc/fig/refType_3.eps new file mode 100644 index 0000000..4c4c59c --- /dev/null +++ b/doc/fig/refType_3.eps @@ -0,0 +1,218 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/refType_3.eps +%%CreationDate: 08/31/2012 16:03:31 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 127 254 508 556 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 127 254 508 556 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 916 463 3169 2517 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +gs 624 269 3721 2937 MR c np +16.6667 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 1224 -3100 0 0 -1224 3100 0 934 1738 5 MP stroke +0 1223 -3100 0 0 -1223 3100 0 934 2961 5 MP stroke +gr + +16.6667 w +c8 +0 sg +%%IncludeResource: font Helvetica +/Helvetica /ISOLatin1Encoding 83.3333 FMSR + +2484 1156 mt +(T1) s +2484 2379 mt +(T2) s +4.16667 w + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/refType_3.pdf b/doc/fig/refType_3.pdf new file mode 100644 index 0000000..54f79f6 Binary files /dev/null and b/doc/fig/refType_3.pdf differ diff --git a/doc/fig/refType_4.eps b/doc/fig/refType_4.eps new file mode 100644 index 0000000..4e5819a --- /dev/null +++ b/doc/fig/refType_4.eps @@ -0,0 +1,218 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/refType_4.eps +%%CreationDate: 08/31/2012 16:03:32 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 127 254 508 556 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 127 254 508 556 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 916 463 3169 2517 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +gs 624 269 3721 2937 MR c np +16.6667 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 2447 -1550 0 0 -2447 1550 0 934 2961 5 MP stroke +0 2447 -1550 0 0 -2447 1550 0 2484 2961 5 MP stroke +gr + +16.6667 w +c8 +0 sg +%%IncludeResource: font Helvetica +/Helvetica /ISOLatin1Encoding 83.3333 FMSR + +1709 1768 mt +(T1) s +3259 1768 mt +(T2) s +4.16667 w + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/refType_4.pdf b/doc/fig/refType_4.pdf new file mode 100644 index 0000000..3fc2c64 Binary files /dev/null and b/doc/fig/refType_4.pdf differ diff --git a/doc/fig/refType_full.eps b/doc/fig/refType_full.eps new file mode 100644 index 0000000..93f3167 --- /dev/null +++ b/doc/fig/refType_full.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64. +%%Title: ../doc/fig/refType_full.eps +%%CreationDate: 08/31/2012 16:03:30 +%%DocumentNeededFonts: Helvetica +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%Extensions: CMYK +%%Pages: 1 +%%BoundingBox: 127 254 508 556 +%%EndComments + +%%BeginProlog +% MathWorks dictionary +/MathWorks 160 dict begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bind def +/xdef {exch def} bdef +/xstore {exch store} bdef +% operator abbreviations +/c /clip ldef +/cc /concat ldef +/cp /closepath ldef +/gr /grestore ldef +/gs /gsave ldef +/mt /moveto ldef +/np /newpath ldef +/cm /currentmatrix ldef +/sm /setmatrix ldef +/rm /rmoveto ldef +/rl /rlineto ldef +/s {show newpath} bdef +/sc {setcmykcolor} bdef +/sr /setrgbcolor ldef +/sg /setgray ldef +/w /setlinewidth ldef +/j /setlinejoin ldef +/cap /setlinecap ldef +/rc {rectclip} bdef +/rf {rectfill} bdef +% page state control +/pgsv () def +/bpage {/pgsv save def} bdef +/epage {pgsv restore} bdef +/bplot /gsave ldef +/eplot {stroke grestore} bdef +% orientation switch +/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def +% coordinate system mappings +/dpi2point 0 def +% font control +/FontSize 0 def +/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] + makefont setfont} bdef +/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse + exch dup 3 1 roll findfont dup length dict begin + { 1 index /FID ne {def}{pop pop} ifelse } forall + /Encoding exch def currentdict end definefont pop} bdef +/isroman {findfont /CharStrings get /Agrave known} bdef +/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse + exch FMS} bdef +/csm {1 dpi2point div -1 dpi2point div scale neg translate + dup landscapeMode eq {pop -90 rotate} + {rotateMode eq {90 rotate} if} ifelse} bdef +% line types: solid, dotted, dashed, dotdash +/SO { [] 0 setdash } bdef +/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef +/DA { [6 dpi2point mul] 0 setdash } bdef +/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 + dpi2point mul] 0 setdash } bdef +% macros for lines and objects +/L {lineto stroke} bdef +/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef +/AP {{rlineto} repeat} bdef +/PDlw -1 def +/W {/PDlw currentlinewidth def setlinewidth} def +/PP {closepath eofill} bdef +/DP {closepath stroke} bdef +/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto + neg 0 exch rlineto closepath} bdef +/FR {MR stroke} bdef +/PR {MR fill} bdef +/L1i {{currentfile picstr readhexstring pop} image} bdef +/tMatrix matrix def +/MakeOval {newpath tMatrix currentmatrix pop translate scale +0 0 1 0 360 arc tMatrix setmatrix} bdef +/FO {MakeOval stroke} bdef +/PO {MakeOval fill} bdef +/PD {currentlinewidth 2 div 0 360 arc fill + PDlw -1 eq not {PDlw w /PDlw -1 def} if} def +/FA {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef +/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef +/FAn {newpath tMatrix currentmatrix pop translate scale + 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef +/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale + 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef +/vradius 0 def /hradius 0 def /lry 0 def +/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def +/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef + /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly + vradius add translate hradius vradius scale 0 0 1 180 270 arc + tMatrix setmatrix lrx hradius sub uly vradius add translate + hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix + lrx hradius sub lry vradius sub translate hradius vradius scale + 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub + translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix + closepath} bdef +/FRR {MRR stroke } bdef +/PRR {MRR fill } bdef +/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix + closepath} bdef +/FlrRR {MlrRR stroke } bdef +/PlrRR {MlrRR fill } bdef +/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def + newpath tMatrix currentmatrix pop ulx rad add uly rad add translate + rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad + sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix + closepath} bdef +/FtbRR {MtbRR stroke } bdef +/PtbRR {MtbRR fill } bdef +/stri 6 array def /dtri 6 array def +/smat 6 array def /dmat 6 array def +/tmat1 6 array def /tmat2 6 array def /dif 3 array def +/asub {/ind2 exch def /ind1 exch def dup dup + ind1 get exch ind2 get sub exch } bdef +/tri_to_matrix { + 2 0 asub 3 1 asub 4 0 asub 5 1 asub + dup 0 get exch 1 get 7 -1 roll astore } bdef +/compute_transform { + dmat dtri tri_to_matrix tmat1 invertmatrix + smat stri tri_to_matrix tmat2 concatmatrix } bdef +/ds {stri astore pop} bdef +/dt {dtri astore pop} bdef +/db {2 copy /cols xdef /rows xdef mul dup 3 mul string + currentfile exch readhexstring pop + dup 0 3 index getinterval /rbmap xdef + dup 2 index dup getinterval /gbmap xdef + 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef +/it {gs np dtri aload pop moveto lineto lineto cp c + cols rows 8 compute_transform + rbmap gbmap bbmap true 3 colorimage gr}bdef +/il {newpath moveto lineto stroke}bdef +currentdict end def +%%EndProlog + +%%BeginSetup +MathWorks begin + +0 cap + +end +%%EndSetup + +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 127 254 508 556 +MathWorks begin +bpage +%%EndPageSetup + +%%BeginObject: obj1 +bplot + +/dpi2point 8.33333 def +portraitMode 0150 5100 csm + + 916 463 3169 2517 MR c np +86 dict begin %Colortable dictionary +/c0 { 0.000000 0.000000 0.000000 sr} bdef +/c1 { 1.000000 1.000000 1.000000 sr} bdef +/c2 { 0.900000 0.000000 0.000000 sr} bdef +/c3 { 0.000000 0.820000 0.000000 sr} bdef +/c4 { 0.000000 0.000000 0.800000 sr} bdef +/c5 { 0.910000 0.820000 0.320000 sr} bdef +/c6 { 1.000000 0.260000 0.820000 sr} bdef +/c7 { 0.000000 0.820000 0.820000 sr} bdef +c0 +1 j +1 sg + 0 0 4801 3603 PR +4.16667 w +gs 624 269 3721 2937 MR c np +16.6667 w +/c8 { 0.000000 0.392157 0.392157 sr} bdef +c8 +0 2447 -3100 0 0 -2447 3100 0 934 2961 5 MP stroke +gr + +16.6667 w +c8 +0 sg +%%IncludeResource: font Helvetica +/Helvetica /ISOLatin1Encoding 83.3333 FMSR + +2484 1768 mt +(T) s +4.16667 w + +end %%Color Dict + +eplot +%%EndObject + +epage +end + +showpage + +%%Trailer +%%EOF diff --git a/doc/fig/refType_full.pdf b/doc/fig/refType_full.pdf new file mode 100644 index 0000000..adf180a Binary files /dev/null and b/doc/fig/refType_full.pdf differ diff --git a/doc/fig/test_ref.eps b/doc/fig/test_ref.eps deleted file mode 100644 index af87d72..0000000 --- a/doc/fig/test_ref.eps +++ /dev/null @@ -1,317 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: MATLAB, The MathWorks, Inc. Version 7.14.0.739 (R2012a). Operating System: Linux 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:25:57 UTC 2012 x86_64. -%%Title: ../doc/fig/test_ref.eps -%%CreationDate: 08/01/2012 16:38:33 -%%DocumentNeededFonts: Helvetica -%%DocumentProcessColors: Cyan Magenta Yellow Black -%%Extensions: CMYK -%%Pages: 1 -%%BoundingBox: 46 201 543 583 -%%EndComments - -%%BeginProlog -% MathWorks dictionary -/MathWorks 160 dict begin -% definition operators -/bdef {bind def} bind def -/ldef {load def} bind def -/xdef {exch def} bdef -/xstore {exch store} bdef -% operator abbreviations -/c /clip ldef -/cc /concat ldef -/cp /closepath ldef -/gr /grestore ldef -/gs /gsave ldef -/mt /moveto ldef -/np /newpath ldef -/cm /currentmatrix ldef -/sm /setmatrix ldef -/rm /rmoveto ldef -/rl /rlineto ldef -/s {show newpath} bdef -/sc {setcmykcolor} bdef -/sr /setrgbcolor ldef -/sg /setgray ldef -/w /setlinewidth ldef -/j /setlinejoin ldef -/cap /setlinecap ldef -/rc {rectclip} bdef -/rf {rectfill} bdef -% page state control -/pgsv () def -/bpage {/pgsv save def} bdef -/epage {pgsv restore} bdef -/bplot /gsave ldef -/eplot {stroke grestore} bdef -% orientation switch -/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def -% coordinate system mappings -/dpi2point 0 def -% font control -/FontSize 0 def -/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] - makefont setfont} bdef -/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse - exch dup 3 1 roll findfont dup length dict begin - { 1 index /FID ne {def}{pop pop} ifelse } forall - /Encoding exch def currentdict end definefont pop} bdef -/isroman {findfont /CharStrings get /Agrave known} bdef -/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse - exch FMS} bdef -/csm {1 dpi2point div -1 dpi2point div scale neg translate - dup landscapeMode eq {pop -90 rotate} - {rotateMode eq {90 rotate} if} ifelse} bdef -% line types: solid, dotted, dashed, dotdash -/SO { [] 0 setdash } bdef -/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef -/DA { [6 dpi2point mul] 0 setdash } bdef -/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 - dpi2point mul] 0 setdash } bdef -% macros for lines and objects -/L {lineto stroke} bdef -/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef -/AP {{rlineto} repeat} bdef -/PDlw -1 def -/W {/PDlw currentlinewidth def setlinewidth} def -/PP {closepath eofill} bdef -/DP {closepath stroke} bdef -/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto - neg 0 exch rlineto closepath} bdef -/FR {MR stroke} bdef -/PR {MR fill} bdef -/L1i {{currentfile picstr readhexstring pop} image} bdef -/tMatrix matrix def -/MakeOval {newpath tMatrix currentmatrix pop translate scale -0 0 1 0 360 arc tMatrix setmatrix} bdef -/FO {MakeOval stroke} bdef -/PO {MakeOval fill} bdef -/PD {currentlinewidth 2 div 0 360 arc fill - PDlw -1 eq not {PDlw w /PDlw -1 def} if} def -/FA {newpath tMatrix currentmatrix pop translate scale - 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef -/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale - 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef -/FAn {newpath tMatrix currentmatrix pop translate scale - 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef -/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale - 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef -/vradius 0 def /hradius 0 def /lry 0 def -/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def -/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef - /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly - vradius add translate hradius vradius scale 0 0 1 180 270 arc - tMatrix setmatrix lrx hradius sub uly vradius add translate - hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix - lrx hradius sub lry vradius sub translate hradius vradius scale - 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub - translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix - closepath} bdef -/FRR {MRR stroke } bdef -/PRR {MRR fill } bdef -/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def - newpath tMatrix currentmatrix pop ulx rad add uly rad add translate - rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad - sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix - closepath} bdef -/FlrRR {MlrRR stroke } bdef -/PlrRR {MlrRR fill } bdef -/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def - newpath tMatrix currentmatrix pop ulx rad add uly rad add translate - rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad - sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix - closepath} bdef -/FtbRR {MtbRR stroke } bdef -/PtbRR {MtbRR fill } bdef -/stri 6 array def /dtri 6 array def -/smat 6 array def /dmat 6 array def -/tmat1 6 array def /tmat2 6 array def /dif 3 array def -/asub {/ind2 exch def /ind1 exch def dup dup - ind1 get exch ind2 get sub exch } bdef -/tri_to_matrix { - 2 0 asub 3 1 asub 4 0 asub 5 1 asub - dup 0 get exch 1 get 7 -1 roll astore } bdef -/compute_transform { - dmat dtri tri_to_matrix tmat1 invertmatrix - smat stri tri_to_matrix tmat2 concatmatrix } bdef -/ds {stri astore pop} bdef -/dt {dtri astore pop} bdef -/db {2 copy /cols xdef /rows xdef mul dup 3 mul string - currentfile exch readhexstring pop - dup 0 3 index getinterval /rbmap xdef - dup 2 index dup getinterval /gbmap xdef - 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef -/it {gs np dtri aload pop moveto lineto lineto cp c - cols rows 8 compute_transform - rbmap gbmap bbmap true 3 colorimage gr}bdef -/il {newpath moveto lineto stroke}bdef -currentdict end def -%%EndProlog - -%%BeginSetup -MathWorks begin - -0 cap - -end -%%EndSetup - -%%Page: 1 1 -%%BeginPageSetup -%%PageBoundingBox: 46 201 543 583 -MathWorks begin -bpage -%%EndPageSetup - -%%BeginObject: obj1 -bplot - -/dpi2point 8.33333 def -portraitMode 0150 5100 csm - - 237 236 4142 3188 MR c np -85 dict begin %Colortable dictionary -/c0 { 0.000000 0.000000 0.000000 sr} bdef -/c1 { 1.000000 1.000000 1.000000 sr} bdef -/c2 { 0.900000 0.000000 0.000000 sr} bdef -/c3 { 0.000000 0.820000 0.000000 sr} bdef -/c4 { 0.000000 0.000000 0.800000 sr} bdef -/c5 { 0.910000 0.820000 0.320000 sr} bdef -/c6 { 1.000000 0.260000 0.820000 sr} bdef -/c7 { 0.000000 0.820000 0.820000 sr} bdef -c0 -1 j -1 sg - 0 0 4801 3603 PR -4.16667 w -0 1623 -1616 -744 0 -1622 4344 2635 4 MP -PP -1616 743 0 1623 -1616 -744 0 -1622 4344 2635 5 MP stroke -1616 743 2105 -570 -1616 -743 2239 3205 4 MP -PP --2105 570 1616 743 2105 -570 -1616 -743 2239 3205 5 MP stroke -0 1623 2105 -571 0 -1622 623 2462 4 MP -PP --2105 570 0 1623 2105 -571 0 -1622 623 2462 5 MP stroke -2.77778 w -DO -SO -4.16667 w -0 sg -2239 3205 mt 4344 2635 L -2239 3205 mt 623 2462 L - 623 2462 mt 623 840 L -2414 3158 mt 2464 3181 L -%%IncludeResource: font Helvetica -/Helvetica /ISOLatin1Encoding 83.3333 FMSR - -2485 3268 mt -(0) s -2765 3063 mt 2814 3086 L -2836 3173 mt -(0.2) s -3116 2968 mt 3165 2991 L -3187 3078 mt -(0.4) s -3466 2873 mt 3516 2896 L -3538 2983 mt -(0.6) s -3817 2778 mt 3867 2801 L -3889 2888 mt -(0.8) s -4168 2683 mt 4218 2706 L -4239 2793 mt -(1) s -2104 3144 mt 2051 3158 L -1982 3241 mt -(0) s -1835 3020 mt 1782 3034 L -1644 3117 mt -(0.2) s -1566 2896 mt 1513 2910 L -1375 2993 mt -(0.4) s -1296 2772 mt 1244 2786 L -1106 2870 mt -(0.6) s -1027 2648 mt 975 2662 L - 836 2746 mt -(0.8) s - 758 2524 mt 705 2538 L - 636 2622 mt -(1) s - 623 2462 mt 574 2440 L - 457 2459 mt -(-1) s - 623 2057 mt 574 2034 L - 388 2054 mt -(-0.5) s - 623 1651 mt 574 1628 L - 506 1648 mt -(0) s - 623 1245 mt 574 1223 L - 437 1243 mt -(0.5) s - 623 840 mt 574 817 L - 506 837 mt -(1) s -gs 624 269 3721 2937 MR c np -/c8 { 0.000000 0.000000 1.000000 sr} bdef -c8 -673 310 -878 237 -673 -309 878 -238 1606 1975 5 MP stroke -673 309 -877 238 -673 -310 877 -237 2484 1737 5 MP stroke -672 310 -877 237 -673 -310 878 -237 3156 2047 5 MP stroke -673 310 -878 238 -672 -310 877 -238 2279 2285 5 MP stroke -gr - -c8 -0 sg -1709 1731 mt -(\(1\)) s -2586 1494 mt -(\(2\)) s -3259 1804 mt -(\(3\)) s -2381 2041 mt -(\(4\)) s -/c9 { 1.000000 0.000000 0.000000 sr} bdef -c9 -2257 2283 mt -(1) s -1584 1974 mt -(2) s - 911 1664 mt -(3) s -3134 2046 mt -(4) s -2461 1736 mt -(5) s -1788 1426 mt -(6) s -4011 1808 mt -(7) s -3338 1498 mt -(8) s -2665 1189 mt -(9) s -0 sg - 331 1673 mt -90 rotate -(z) s -90 rotate -3194 3389 mt -(x) s -1363 3346 mt -(y) s - -end %%Color Dict - -eplot -%%EndObject - -epage -end - -showpage - -%%Trailer -%%EOF diff --git a/doc/fig/test_ref.pdf b/doc/fig/test_ref.pdf deleted file mode 100644 index 98289c6..0000000 Binary files a/doc/fig/test_ref.pdf and /dev/null differ diff --git a/src/exmpl11.mat b/src/exmpl11.mat new file mode 100644 index 0000000..a0d53b4 Binary files /dev/null and b/src/exmpl11.mat differ diff --git a/src/exmpl12.mat b/src/exmpl12.mat new file mode 100644 index 0000000..45f0201 Binary files /dev/null and b/src/exmpl12.mat differ diff --git a/src/exmpl13.mat b/src/exmpl13.mat new file mode 100644 index 0000000..835d875 Binary files /dev/null and b/src/exmpl13.mat differ diff --git a/src/exmpl_2DQuad2.mat b/src/exmpl_2DQuad2.mat index eedc589..9b82b0f 100644 Binary files a/src/exmpl_2DQuad2.mat and b/src/exmpl_2DQuad2.mat differ diff --git a/src/exmpl_2DQuad_wrong.mat b/src/exmpl_2DQuad_wrong.mat new file mode 100644 index 0000000..7e4fd14 Binary files /dev/null and b/src/exmpl_2DQuad_wrong.mat differ diff --git a/src/export_exmpl.m b/src/export_exmpl.m new file mode 100644 index 0000000..cdf63cb --- /dev/null +++ b/src/export_exmpl.m @@ -0,0 +1,36 @@ +%% Example 1 + +load exmpl_2DQuad + +export_mesh(coordinates,elements,neigh,[],'exmpl11') + + +marked = [2 3 1 3]; +[coordinates elements neigh f2s sites] =... + refineQuad(coordinates,elements,neigh,sites,marked); + +export_mesh(coordinates,elements,neigh,f2s,'exmpl12') + +marked = ones(1,9); +marked(5) = 2; +% marked([4,7]) = 3; +[coordinates elements neigh f2s sites] =... + refineQuad(coordinates,elements,neigh,sites,marked); + +export_mesh(coordinates,elements,neigh,f2s,'exmpl13') + +%% Example Right&Wrong + +plotShape(coordinates,elements(:,:),'be'); +view(2); +axis off; +print('-r600','-depsc',['../doc/fig/net1.eps']) +system(['epstopdf ../doc/fig/net1.eps']); + +load exmpl_2DQuad_wrong + +plotShape(coordinates,elements(:,:),'be'); +view(2); +axis off; +print('-r600','-depsc',['../doc/fig/net_wrong.eps']) +system(['epstopdf ../doc/fig/net_wrong.eps']); \ No newline at end of file diff --git a/src/export_mesh.m b/src/export_mesh.m index 21b76dd..7ac7527 100644 --- a/src/export_mesh.m +++ b/src/export_mesh.m @@ -1,6 +1,14 @@ -function export_mesh(coo, ele, nei, f2s, file) +function export_mesh(coordinates, elements, neigh, f2s, file) -plotShape(coo,ele,'db'); +%% Daten +save(file,'coordinates', 'elements','neigh','f2s') + +%% Übersicht +plotShape(coordinates,elements,'db'); + +if(length(unique(coordinates(:,3)))==1) + view(2) +end print('-r600','-depsc',['../doc/fig/' file '_ref.eps']) system(['epstopdf ../doc/fig/' file '_ref.eps']); @@ -10,7 +18,7 @@ fid = fopen(['../doc/fig/' file '_coo.tex'],'w'); fprintf(fid,'\\begin{tabular}{>{\\columncolor{gray}}rccc}\n'); fprintf(fid,'\\rowcolor{gray}\n Index & x1 & x2 & x3\\\\'); -[m n] =size(coo); +[m n] =size(coordinates); for i = 1:m if(i~=1) @@ -18,9 +26,9 @@ for i = 1:m end fprintf(fid,['\n ' int2str(i) ... - ' & ' num2str(coo(i,1),4)... - ' & ' num2str(coo(i,2),4)... - ' & ' num2str(coo(i,3),4)]); + ' & ' num2str(coordinates(i,1),4)... + ' & ' num2str(coordinates(i,2),4)... + ' & ' num2str(coordinates(i,3),4)]); end fprintf(fid,'\n\\end{tabular}'); % fprintf(fid,['\n\\caption{' file ' - Koordinaten}']); @@ -35,13 +43,13 @@ fid = fopen(['../doc/fig/' file '_ele.tex'],'w'); fprintf(fid,'\\begin{tabular}{>{\\columncolor{gray}}rcccc}\n'); fprintf(fid,'\\rowcolor{gray}\n Index & c1 & c2 & c3 & c4\\\\'); -[m n] =size(ele); +[m n] =size(elements); for i = 1:m if(i~=1) fprintf(fid,'\\\\'); end - fprintf(fid,'\n %d & %d & %d & %d & %d',i,ele(i,1),ele(i,2),ele(i,3),ele(i,4)); + fprintf(fid,'\n %d & %d & %d & %d & %d',i,elements(i,1),elements(i,2),elements(i,3),elements(i,4)); end fprintf(fid,'\n\\end{tabular}'); % fprintf(fid,['\n\\caption{' file ' - Elemente}']); @@ -55,13 +63,13 @@ fid = fopen(['../doc/fig/' file '_nei.tex'],'w'); fprintf(fid,'\\begin{tabular}{>{\\columncolor{gray}}rcccccccc}\n'); fprintf(fid,'\\rowcolor{gray}\n Index & n1 & n2 & n3 & n4 & n5 & n6 & n7 & n8\\\\'); -[m n] =size(nei); +[m n] =size(neigh); for i = 1:m if(i~=1) fprintf(fid,'\\\\'); end - fprintf(fid,'\n %d & %d & %d & %d & %d & %d & %d & %d & %d',i,nei(i,1),nei(i,2),nei(i,3),nei(i,4),nei(i,5),nei(i,6),nei(i,7),nei(i,8)); + fprintf(fid,'\n %d & %d & %d & %d & %d & %d & %d & %d & %d',i,neigh(i,1),neigh(i,2),neigh(i,3),neigh(i,4),neigh(i,5),neigh(i,6),neigh(i,7),neigh(i,8)); end fprintf(fid,'\n\\end{tabular}'); % fprintf(fid,['\n\\caption{' file ' - Nachbarn}']); diff --git a/src/export_refineTypes.m b/src/export_refineTypes.m new file mode 100644 index 0000000..c0fd60e --- /dev/null +++ b/src/export_refineTypes.m @@ -0,0 +1,29 @@ + +file = 'refType'; +input = 'exmpl_2DQuad2'; +load(input); + +plotShape(coordinates,elements(:,:),'bet',{'T'}); + +view(2); +axis off; +% set(gcf, 'paperpositionmode', 'auto'); +print('-r600','-depsc',['../doc/fig/' file '_full.eps']) +system(['epstopdf ../doc/fig/' file '_full.eps']); + + +for i= 1:4 + +load(input) + +[coordinates elements neigh f2s sites] = ... + refineQuad(coordinates,elements,neigh,sites,i); + +plotShape(coordinates,elements(:,:),'bet',{'T1','T2','T3','T4'}); +view(2); +axis off; +% set(gcf, 'paperpositionmode', 'auto'); +print('-r600','-depsc',['../doc/fig/' file '_' num2str(i) '.eps']) +system(['epstopdf ../doc/fig/' file '_' num2str(i) '.eps']); + +end \ No newline at end of file diff --git a/src/plotShape.m b/src/plotShape.m index 7fb650f..b75248c 100644 --- a/src/plotShape.m +++ b/src/plotShape.m @@ -12,6 +12,7 @@ function plotShape(coordinates, elements, varargin) % s -> Flaechen werden gefaerbt, wobei VEC die Farben der Elemente angibt % t -> Element Text wird angezeigt (oder Element Index) % d -> Koordinaten Text wird angezeigt (oder Koordinaten Index) +% e -> thick lines for export % % P.Schaefer @@ -20,6 +21,7 @@ c = 0; e = 1; n = 0; t = 0; +line = 1; optargin = size(varargin,2); if(optargin>2) error('Zu viele Argumente'); @@ -51,6 +53,11 @@ elseif(optargin>=1) % % error('plotShape:COLOR','Optionale Parameter fuer Faerbung sind Falsch') % end end + + if(ismember('e',varargin{1})) + line = 2; + end + if(ismember('c',varargin{1})) c = 1; end @@ -62,7 +69,7 @@ elseif(optargin>=1) if(ismember('t',varargin{1})) desc = {}; t = 1; - if(optargin==2 && length(varargin{2})==size(elements,1)) + if(optargin==2 && length(varargin{2})>=size(elements,1)) desc = varargin{2}; end elseif(ismember('d',varargin{1})) @@ -103,7 +110,7 @@ else for idx = eles current = coordinates(elements(idx,[1:4,1])',:); % current(3,:) = current(3,:)-current(1,:)+current(2,:); - plot3(current(:,1),current(:,2),current(:,3),'color',[0,100,100]/255); % Zeichnet nur Kanten + plot3(current(:,1),current(:,2),current(:,3),'LineWidth',line,'color',[0,100,100]/255); % Zeichnet nur Kanten hold on end end @@ -138,7 +145,7 @@ if(t) if(isempty(desc)) text(current(1),current(2),current(3),['(' num2str(idx) ')'],'color',cola); else - text(current(1),current(2),current(3),['(' desc{idx} ')'],'color',cola); + text(current(1),current(2),current(3),[desc{idx}],'color',cola); end hold on end diff --git a/src/refineQuad.m b/src/refineQuad.m index c732e30..4377583 100644 --- a/src/refineQuad.m +++ b/src/refineQuad.m @@ -61,7 +61,7 @@ ref_old2 = []; while(1==1) %jeden 4ten 2er durch schrittweise Verfeinerung (5) ersetzen t_ref=find(G_ref_t==2); - G_ref_t(t_ref(1:4:end)) = 5; + G_ref_t(t_ref(2:4:end)) = 5; %Welche Elemente müssen bearbeitet werden ref = find(G_ref_t>1); @@ -160,8 +160,9 @@ f2s = G_ref_f2s; sit = G_ref_S; %Doppelte Koordinaten loeschen - [coo l pos] = unique(coo,'rows'); - ele = pos(ele); +[coo l pos] = unique(coo,'rows'); +pos = pos'; +ele = pos(ele); %INTERNE Globale Variablen freigeben clear G_ref_E G_ref_C G_ref_N G_ref_f2s G_ref_t G_ref_tD G_ref_s