aboutsummaryrefslogtreecommitdiff
path: root/doc/fig
diff options
context:
space:
mode:
authorpollney <pollney@c78560ca-4b45-4335-b268-5f3340f3cb52>2002-06-10 09:54:03 +0000
committerpollney <pollney@c78560ca-4b45-4335-b268-5f3340f3cb52>2002-06-10 09:54:03 +0000
commitb5cb6c915077b883a637178a3a070b0dae739b83 (patch)
tree6aa06e1564a8a65b031e6bec7311760ac2c9e496 /doc/fig
parentc340c4d5674bf05cada2bb73fd0a04be6e354204 (diff)
Added "bitant_rotate" and "quadrant_reflect_rotate" domains for
systems which have a rotational symmetry. There are some notes describing these domains and the implementation in the doc directory: rotating_sym.tex Currently only works for a single processor. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/CartGrid3D/trunk@161 c78560ca-4b45-4335-b268-5f3340f3cb52
Diffstat (limited to 'doc/fig')
-rw-r--r--doc/fig/rotate_bbh.eps162
-rw-r--r--doc/fig/rotate_bbh.fig29
-rw-r--r--doc/fig/rotate_bitant.eps143
-rw-r--r--doc/fig/rotate_bitant.fig25
-rw-r--r--doc/fig/rotate_bitant.fig.bak25
-rw-r--r--doc/fig/rotate_bitant_example.eps193
-rw-r--r--doc/fig/rotate_bitant_example.fig46
-rw-r--r--doc/fig/rotate_general.eps138
-rw-r--r--doc/fig/rotate_general.fig19
-rw-r--r--doc/fig/rotate_general.fig.bak18
-rw-r--r--doc/fig/rotate_grid.eps197
-rw-r--r--doc/fig/rotate_grid.fig54
-rw-r--r--doc/fig/rotate_octant.eps143
-rw-r--r--doc/fig/rotate_octant.fig25
-rw-r--r--doc/fig/rotate_octant.fig.bak23
-rw-r--r--doc/fig/rotate_quadrant_example.eps200
-rw-r--r--doc/fig/rotate_quadrant_example.fig47
-rw-r--r--doc/fig/rotate_reflect.eps340
-rw-r--r--doc/fig/rotate_reflect.fig101
19 files changed, 1928 insertions, 0 deletions
diff --git a/doc/fig/rotate_bbh.eps b/doc/fig/rotate_bbh.eps
new file mode 100644
index 0000000..a4a2eb0
--- /dev/null
+++ b/doc/fig/rotate_bbh.eps
@@ -0,0 +1,162 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: rotate_bbh.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Thu Jun 6 19:51:10 2002
+%%For: dp@nbdell15 (Denis Pollney,,,)
+%%BoundingBox: 0 0 203 204
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 204 moveto 0 0 lineto 203 0 lineto 203 204 lineto closepath clip newpath
+-78.6 264.4 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+ /DrawEllipse {
+ /endangle exch def
+ /startangle exch def
+ /yrad exch def
+ /xrad exch def
+ /y exch def
+ /x exch def
+ /savematrix mtrx currentmatrix def
+ x y tr xrad yrad sc 0 0 1 startangle endangle arc
+ closepath
+ savematrix setmatrix
+ } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+0 slj 0 slc
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Polyline
+7.500 slw
+n 2700 1350 m 4050 1350 l 4050 4050 l 2700 4050 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Ellipse
+n 3375 2250 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+
+% Ellipse
+n 2025 3375 64 64 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+
+% Polyline
+n 1350 1350 m 4050 1350 l 4050 4050 l 1350 4050 l
+ cp gs col0 s gr
+% Polyline
+gs clippath
+2421 3767 m 2460 3721 l 2346 3623 l 2418 3724 l 2307 3668 l cp
+eoclip
+n 2115 3465 m
+ 2430 3735 l gs col0 s gr gr
+
+% arrowhead
+n 2307 3668 m 2418 3724 l 2346 3623 l 2307 3668 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+2978 1857 m 2939 1903 l 3053 2001 l 2982 1901 l 3092 1956 l cp
+eoclip
+n 3285 2160 m
+ 2970 1890 l gs col0 s gr gr
+
+% arrowhead
+n 3092 1956 m 2982 1901 l 3053 2001 l 3092 1956 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+4290 2730 m 4290 2670 l 4139 2670 l 4259 2700 l 4139 2730 l cp
+eoclip
+n 1260 2700 m
+ 4275 2700 l gs col0 s gr gr
+
+% arrowhead
+n 4139 2730 m 4259 2700 l 4139 2670 l 4139 2730 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+2730 1110 m 2670 1110 l 2670 1261 l 2700 1141 l 2730 1261 l cp
+eoclip
+n 2700 4185 m
+ 2700 1125 l gs col0 s gr gr
+
+% arrowhead
+n 2730 1261 m 2700 1141 l 2670 1261 l 2730 1261 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+2655 1080 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+4365 2745 m
+gs 1 -1 sc (x) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/fig/rotate_bbh.fig b/doc/fig/rotate_bbh.fig
new file mode 100644
index 0000000..970fcb2
--- /dev/null
+++ b/doc/fig/rotate_bbh.fig
@@ -0,0 +1,29 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+1 3 0 1 0 0 50 0 20 0.000 1 0.0000 3375 2250 64 64 3375 2250 3439 2250
+1 3 0 1 0 0 50 0 20 0.000 1 0.0000 2025 3375 64 64 2025 3375 2089 3375
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1350 1350 4050 1350 4050 4050 1350 4050 1350 1350
+2 2 0 1 0 6 60 0 20 0.000 0 0 -1 0 0 5
+ 2700 1350 4050 1350 4050 4050 2700 4050 2700 1350
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 2115 3465 2430 3735
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 3285 2160 2970 1890
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1260 2700 4275 2700
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 2700 4185 2700 1125
+4 0 0 50 0 16 12 0.0000 4 150 105 2655 1080 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 4365 2745 x\001
diff --git a/doc/fig/rotate_bitant.eps b/doc/fig/rotate_bitant.eps
new file mode 100644
index 0000000..88d0bcb
--- /dev/null
+++ b/doc/fig/rotate_bitant.eps
@@ -0,0 +1,143 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: rotate_bitant.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Sun Jun 9 11:06:24 2002
+%%For: pollney@xeon20.aei-potsdam.mpg.de (Denis Pollney,0.21,1.21,none)
+%%BoundingBox: 0 0 165 202
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 202 moveto 0 0 lineto 165 0 lineto 165 202 lineto closepath clip newpath
+-56.7 261.5 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Arc
+7.500 slw
+gs clippath
+1765 3181 m 1774 3122 l 1624 3100 l 1739 3148 l 1615 3159 l cp
+1774 2277 m 1765 2218 l 1615 2240 l 1739 2252 l 1624 2299 l cp
+eoclip
+n 1755.0 2700.0 450.0 -90.0 90.0 arcn
+gs col0 s gr
+ gr
+
+% arrowhead
+n 1615 3159 m 1739 3148 l 1624 3100 l 1615 3159 l cp gs 0.00 setgray ef gr col0 s
+% arrowhead
+n 1624 2299 m 1739 2252 l 1615 2240 l 1624 2299 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+n 1800 1350 m 3150 1350 l 3150 4050 l 1800 4050 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Polyline
+gs clippath
+3390 2730 m 3390 2670 l 3239 2670 l 3359 2700 l 3239 2730 l cp
+eoclip
+n 1710 2700 m
+ 3375 2700 l gs col0 s gr gr
+
+% arrowhead
+n 3239 2730 m 3359 2700 l 3239 2670 l 3239 2730 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+1830 1110 m 1770 1110 l 1770 1261 l 1800 1141 l 1830 1261 l cp
+eoclip
+n 1800 4140 m
+ 1800 1125 l gs col0 s gr gr
+
+% arrowhead
+n 1830 1261 m 1800 1141 l 1770 1261 l 1830 1261 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+1755 1080 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+3420 2790 m
+gs 1 -1 sc (x) col0 sh gr
+/Symbol ff 180.00 scf sf
+900 2745 m
+gs 1 -1 sc (q=p) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1575 2025 m
+gs 1 -1 sc (A) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1575 3600 m
+gs 1 -1 sc (B) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/fig/rotate_bitant.fig b/doc/fig/rotate_bitant.fig
new file mode 100644
index 0000000..ac2e497
--- /dev/null
+++ b/doc/fig/rotate_bitant.fig
@@ -0,0 +1,25 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 50 0 -1 0.000 0 1 1 1 1755.000 2700.000 1755 2250 1305 2700 1755 3150
+ 1 1 1.00 60.00 120.00
+ 1 1 1.00 60.00 120.00
+2 2 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 5
+ 1800 1350 3150 1350 3150 4050 1800 4050 1800 1350
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1710 2700 3375 2700
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1800 4140 1800 1125
+4 0 0 50 0 16 12 0.0000 4 150 105 1755 1080 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 3420 2790 x\001
+4 0 0 50 0 32 12 0.0000 4 135 315 900 2745 q=p\001
+4 0 0 50 0 16 12 0.0000 4 135 135 1575 2025 A\001
+4 0 0 50 0 16 12 0.0000 4 135 120 1575 3600 B\001
diff --git a/doc/fig/rotate_bitant.fig.bak b/doc/fig/rotate_bitant.fig.bak
new file mode 100644
index 0000000..cbf06fa
--- /dev/null
+++ b/doc/fig/rotate_bitant.fig.bak
@@ -0,0 +1,25 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 50 0 -1 0.000 0 1 1 1 1755.000 2700.000 1755 2250 1305 2700 1755 3150
+ 1 1 1.00 60.00 120.00
+ 1 1 1.00 60.00 120.00
+2 2 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 5
+ 1800 1350 3150 1350 3150 4050 1800 4050 1800 1350
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1710 2700 3375 2700
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1800 4140 1800 1125
+4 0 0 50 0 16 12 0.0000 4 150 105 1755 1080 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 3420 2790 x\001
+4 0 0 50 0 32 12 0.0000 4 135 315 900 2745 q=p\001
+4 0 0 50 0 16 12 0.0000 4 135 135 1575 2025 A\001
+4 0 0 50 0 16 12 0.0000 4 135 120 1575 3825 B\001
diff --git a/doc/fig/rotate_bitant_example.eps b/doc/fig/rotate_bitant_example.eps
new file mode 100644
index 0000000..91254da
--- /dev/null
+++ b/doc/fig/rotate_bitant_example.eps
@@ -0,0 +1,193 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: rotate_bitant_example.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Sat Jun 8 19:19:08 2002
+%%For: dp@nbdell15 (Denis Pollney,,,)
+%%BoundingBox: 0 0 302 269
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 269 moveto 0 0 lineto 302 0 lineto 302 269 lineto closepath clip newpath
+-65.2 315.4 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+ /DrawEllipse {
+ /endangle exch def
+ /startangle exch def
+ /yrad exch def
+ /xrad exch def
+ /y exch def
+ /x exch def
+ /savematrix mtrx currentmatrix def
+ x y tr xrad yrad sc 0 0 1 startangle endangle arc
+ closepath
+ savematrix setmatrix
+ } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+0 slj 0 slc
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Polyline
+7.500 slw
+n 1800 2250 m 3375 2250 l 3375 4725 l 1800 4725 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Polyline
+n 3375 1350 m 1800 2250 l 3375 2250 l 4950 1350 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Polyline
+n 3375 2250 m 4950 1350 l 4950 3825 l 3375 4725 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Ellipse
+n 2700 1350 315 135 0 360 DrawEllipse gs col0 s gr
+
+% Polyline
+gs clippath
+1142 3806 m 1171 3858 l 1303 3783 l 1184 3817 l 1273 3731 l cp
+eoclip
+n 1800 3465 m
+ 1170 3825 l gs col0 s gr gr
+
+% arrowhead
+n 1273 3731 m 1184 3817 l 1303 3783 l 1273 3731 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+ [60] 0 sd
+n 3375 1350 m
+ 3375 3825 l gs col0 s gr [] 0 sd
+% Polyline
+ [60] 0 sd
+n 3375 3825 m
+ 4950 3825 l gs col0 s gr [] 0 sd
+% Polyline
+ [60] 0 sd
+n 3375 3825 m
+ 1800 4725 l gs col0 s gr [] 0 sd
+% Polyline
+ [60] 0 sd
+n 2700 1755 m
+ 2700 4725 l gs col0 s gr [] 0 sd
+% Polyline
+ [60] 0 sd
+n 1805 3474 m
+ 4145 2124 l gs col0 s gr [] 0 sd
+% Polyline
+ [60] 0 sd
+n 4140 2970 m
+ 1575 2970 l gs col0 s gr [] 0 sd
+% Polyline
+gs clippath
+5685 3000 m 5685 2940 l 5534 2940 l 5654 2970 l 5534 3000 l cp
+eoclip
+n 4140 2970 m
+ 5670 2970 l gs col0 s gr gr
+
+% arrowhead
+n 5534 3000 m 5654 2970 l 5534 2940 l 5534 3000 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+n 2700 4725 m
+ 2700 4995 l gs col0 s gr
+% Polyline
+ [60] 0 sd
+n 1800 2970 m
+ 1575 2970 l gs col0 s gr [] 0 sd
+% Polyline
+gs clippath
+2730 885 m 2670 885 l 2670 1036 l 2700 916 l 2730 1036 l cp
+eoclip
+n 2700 1710 m
+ 2700 900 l gs col0 s gr gr
+
+% arrowhead
+n 2730 1036 m 2700 916 l 2670 1036 l 2730 1036 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+1035 3960 m
+gs 1 -1 sc (x) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2655 855 m
+gs 1 -1 sc (z) col0 sh gr
+/Helvetica ff 180.00 scf sf
+5715 3015 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1710 1305 m
+gs 1 -1 sc (rotation) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1845 1485 m
+gs 1 -1 sc (axis) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/fig/rotate_bitant_example.fig b/doc/fig/rotate_bitant_example.fig
new file mode 100644
index 0000000..38d3e2d
--- /dev/null
+++ b/doc/fig/rotate_bitant_example.fig
@@ -0,0 +1,46 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 2700 1350 315 135 2700 1350 3015 1350
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1800 3465 1170 3825
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 3375 1350 3375 3825
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 3375 3825 4950 3825
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 3375 3825 1800 4725
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 2700 1755 2700 4725
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 1805 3474 4145 2124
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 4140 2970 1575 2970
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 4140 2970 5670 2970
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2700 4725 2700 4995
+2 2 0 1 0 6 60 0 20 0.000 0 0 -1 0 0 5
+ 1800 2250 3375 2250 3375 4725 1800 4725 1800 2250
+2 3 0 1 0 6 60 0 20 0.000 0 0 -1 0 0 5
+ 3375 1350 1800 2250 3375 2250 4950 1350 3375 1350
+2 3 0 1 0 6 60 0 20 0.000 0 0 -1 0 0 5
+ 3375 2250 4950 1350 4950 3825 3375 4725 3375 2250
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 1800 2970 1575 2970
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 2700 1710 2700 900
+4 0 0 50 0 16 12 0.0000 4 105 90 1035 3960 x\001
+4 0 0 50 0 16 12 0.0000 4 105 90 2655 855 z\001
+4 0 0 50 0 16 12 0.0000 4 150 105 5715 3015 y\001
+4 0 0 50 0 16 12 0.0000 4 135 615 1710 1305 rotation\001
+4 0 0 50 0 16 12 0.0000 4 135 330 1845 1485 axis\001
diff --git a/doc/fig/rotate_general.eps b/doc/fig/rotate_general.eps
new file mode 100644
index 0000000..5d48bed
--- /dev/null
+++ b/doc/fig/rotate_general.eps
@@ -0,0 +1,138 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: rotate_general.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Sun Jun 9 11:03:43 2002
+%%For: pollney@xeon20.aei-potsdam.mpg.de (Denis Pollney,0.21,1.21,none)
+%%BoundingBox: 0 0 154 158
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 158 moveto 0 0 lineto 154 0 lineto 154 158 lineto closepath clip newpath
+-73.7 241.7 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+ /DrawEllipse {
+ /endangle exch def
+ /startangle exch def
+ /yrad exch def
+ /xrad exch def
+ /y exch def
+ /x exch def
+ /savematrix mtrx currentmatrix def
+ x y tr xrad yrad sc 0 0 1 startangle endangle arc
+ closepath
+ savematrix setmatrix
+ } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Arc
+7.500 slw
+gs clippath
+2053 2808 m 2022 2756 l 1892 2833 l 2011 2798 l 1923 2885 l cp
+2022 2193 m 2053 2141 l 1923 2064 l 2011 2152 l 1892 2116 l cp
+eoclip
+n 1761.0 2475.0 411.0 -50.0 50.0 arcn
+gs col0 s gr
+ gr
+
+% arrowhead
+n 1923 2885 m 2011 2798 l 1892 2833 l 1923 2885 l cp gs 0.00 setgray ef gr col0 s
+% arrowhead
+n 1892 2116 m 2011 2152 l 1923 2064 l 1892 2116 l cp gs 0.00 setgray ef gr col0 s
+% Ellipse
+n 1800 2475 45 45 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+
+% Polyline
+n 1800 2475 m 3600 1350 l 3600 3825 l
+ 1800 2475 l cp gs col6 1.00 shd ef gr gs col0 s gr
+/Symbol ff 180.00 scf sf
+1170 2475 m
+gs 1 -1 sc (q) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2340 1980 m
+gs 1 -1 sc (A) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2340 3240 m
+gs 1 -1 sc (B) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2925 2610 m
+gs 1 -1 sc (Grid) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/fig/rotate_general.fig b/doc/fig/rotate_general.fig
new file mode 100644
index 0000000..5658283
--- /dev/null
+++ b/doc/fig/rotate_general.fig
@@ -0,0 +1,19 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 50 0 -1 0.000 0 1 1 1 1761.000 2475.000 2025 2160 1350 2475 2025 2790
+ 1 1 1.00 60.00 120.00
+ 1 1 1.00 60.00 120.00
+1 3 0 1 0 0 50 0 20 0.000 1 0.0000 1800 2475 45 45 1800 2475 1845 2475
+2 1 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 4
+ 1800 2475 3600 1350 3600 3825 1800 2475
+4 0 0 50 0 32 12 0.0000 4 135 105 1170 2475 q\001
+4 0 0 50 0 16 12 0.0000 4 135 135 2340 1980 A\001
+4 0 0 50 0 16 12 0.0000 4 135 120 2340 3240 B\001
+4 0 0 50 0 16 12 0.0000 4 135 345 2925 2610 Grid\001
diff --git a/doc/fig/rotate_general.fig.bak b/doc/fig/rotate_general.fig.bak
new file mode 100644
index 0000000..eb39772
--- /dev/null
+++ b/doc/fig/rotate_general.fig.bak
@@ -0,0 +1,18 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 50 0 -1 0.000 0 1 1 0 1761.000 2475.000 2025 2160 1350 2475 2025 2790
+ 1 1 1.00 60.00 120.00
+1 3 0 1 0 0 50 0 20 0.000 1 0.0000 1800 2475 45 45 1800 2475 1845 2475
+2 1 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 4
+ 1800 2475 3600 1350 3600 3825 1800 2475
+4 0 0 50 0 32 12 0.0000 4 135 105 1170 2475 q\001
+4 0 0 50 0 16 12 0.0000 4 135 135 2340 1980 A\001
+4 0 0 50 0 16 12 0.0000 4 135 120 2340 3240 B\001
+4 0 0 50 0 16 12 0.0000 4 135 345 2925 2610 Grid\001
diff --git a/doc/fig/rotate_grid.eps b/doc/fig/rotate_grid.eps
new file mode 100644
index 0000000..a725f92
--- /dev/null
+++ b/doc/fig/rotate_grid.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: rotate_grid.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Sat Jun 8 18:10:26 2002
+%%For: dp@nbdell15 (Denis Pollney,,,)
+%%BoundingBox: 0 0 290 261
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 261 moveto 0 0 lineto 290 0 lineto 290 261 lineto closepath clip newpath
+-59.5 346.6 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+0 slj 0 slc
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Polyline
+7.500 slw
+n 1800 1800 m 5175 1800 l 5175 5400 l 1800 5400 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Polyline
+n 2070 1800 m
+ 2070 2565 l gs col0 s gr
+% Polyline
+n 2430 2070 m
+ 1800 2070 l gs col0 s gr
+% Polyline
+n 2430 2295 m
+ 1800 2295 l gs col0 s gr
+% Polyline
+n 1530 4635 m
+ 1530 5400 l gs col0 s gr
+% Polyline
+n 1800 5400 m 1260 5400 l 1260 1800 l 1800 1800 l
+ cp gs col0 s gr
+% Polyline
+n 2430 2520 m
+ 1800 2520 l gs col0 s gr
+% Polyline
+n 2340 1800 m
+ 2340 2565 l gs col0 s gr
+% Polyline
+n 1260 5175 m
+ 1800 5175 l gs col0 s gr
+% Polyline
+n 1260 4950 m
+ 1800 4950 l gs col0 s gr
+% Polyline
+n 1260 4725 m
+ 1800 4725 l gs col0 s gr
+% Polyline
+gs clippath
+1830 1560 m 1770 1560 l 1770 1711 l 1800 1591 l 1830 1711 l cp
+eoclip
+n 1800 5490 m
+ 1800 1575 l gs col0 s gr gr
+
+% arrowhead
+n 1830 1711 m 1800 1591 l 1770 1711 l 1830 1711 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+5415 3630 m 5415 3570 l 5264 3570 l 5384 3600 l 5264 3630 l cp
+eoclip
+n 1125 3600 m
+ 5400 3600 l gs col0 s gr gr
+
+% arrowhead
+n 5264 3630 m 5384 3600 l 5264 3570 l 5264 3630 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+1845 2025 m
+gs 1 -1 sc (00 01) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1845 2250 m
+gs 1 -1 sc (10 11) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1845 2475 m
+gs 1 -1 sc (20 21) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1305 5130 m
+gs 1 -1 sc (11 10) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1305 5355 m
+gs 1 -1 sc (01 00) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1305 4905 m
+gs 1 -1 sc (21 20) col0 sh gr
+/Helvetica ff 180.00 scf sf
+3105 2880 m
+gs 1 -1 sc (physical grid) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1575 4095 m
+gs 1 -1 sc 90.0 rot (ghost zones) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1800 1485 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+5445 3690 m
+gs 1 -1 sc (x) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1935 1755 m
+gs 1 -1 sc (0) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2160 1755 m
+gs 1 -1 sc (1) col0 sh gr
+/Helvetica ff 180.00 scf sf
+4995 1755 m
+gs 1 -1 sc (n) col0 sh gr
+/Helvetica ff 180.00 scf sf
+945 1980 m
+gs 1 -1 sc (0) col0 sh gr
+/Helvetica ff 180.00 scf sf
+945 2205 m
+gs 1 -1 sc (1) col0 sh gr
+/Helvetica ff 180.00 scf sf
+945 5400 m
+gs 1 -1 sc (m) col0 sh gr
+/Times-Roman ff 180.00 scf sf
+945 2430 m
+gs 1 -1 sc (2) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/fig/rotate_grid.fig b/doc/fig/rotate_grid.fig
new file mode 100644
index 0000000..f2897c2
--- /dev/null
+++ b/doc/fig/rotate_grid.fig
@@ -0,0 +1,54 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+2 2 0 1 0 6 60 0 20 0.000 0 0 -1 0 0 5
+ 1800 1800 5175 1800 5175 5400 1800 5400 1800 1800
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2070 1800 2070 2565
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2430 2070 1800 2070
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2430 2295 1800 2295
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1530 4635 1530 5400
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1800 5400 1260 5400 1260 1800 1800 1800 1800 5400
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2430 2520 1800 2520
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2340 1800 2340 2565
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1260 5175 1800 5175
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1260 4950 1800 4950
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1260 4725 1800 4725
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1800 5490 1800 1575
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1125 3600 5400 3600
+4 0 0 50 0 16 12 0.0000 4 135 480 1845 2025 00 01\001
+4 0 0 50 0 16 12 0.0000 4 135 480 1845 2250 10 11\001
+4 0 0 50 0 16 12 0.0000 4 135 480 1845 2475 20 21\001
+4 0 0 50 0 16 12 0.0000 4 135 480 1305 5130 11 10\001
+4 0 0 50 0 16 12 0.0000 4 135 480 1305 5355 01 00\001
+4 0 0 50 0 16 12 0.0000 4 135 480 1305 4905 21 20\001
+4 0 0 50 0 16 12 0.0000 4 180 1080 3105 2880 physical grid\001
+4 0 0 50 0 16 12 1.5708 4 180 1005 1575 4095 ghost zones\001
+4 0 0 50 0 16 12 0.0000 4 150 105 1800 1485 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 5445 3690 x\001
+4 0 0 50 0 16 12 0.0000 4 135 105 1935 1755 0\001
+4 0 0 50 0 16 12 0.0000 4 135 105 2160 1755 1\001
+4 0 0 50 0 16 12 0.0000 4 105 105 4995 1755 n\001
+4 0 0 50 0 16 12 0.0000 4 135 105 945 1980 0\001
+4 0 0 50 0 16 12 0.0000 4 135 105 945 2205 1\001
+4 0 0 50 0 16 12 0.0000 4 105 135 945 5400 m\001
+4 0 0 50 0 0 12 0.0000 4 135 90 945 2430 2\001
diff --git a/doc/fig/rotate_octant.eps b/doc/fig/rotate_octant.eps
new file mode 100644
index 0000000..2fa5e69
--- /dev/null
+++ b/doc/fig/rotate_octant.eps
@@ -0,0 +1,143 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: rotate_octant.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Sun Jun 9 11:05:54 2002
+%%For: pollney@xeon20.aei-potsdam.mpg.de (Denis Pollney,0.21,1.21,none)
+%%BoundingBox: 0 0 148 130
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 130 moveto 0 0 lineto 148 0 lineto 148 130 lineto closepath clip newpath
+-31.2 218.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Arc
+7.500 slw
+gs clippath
+1833 3011 m 1777 2990 l 1724 3132 l 1794 3030 l 1780 3152 l cp
+1327 2499 m 1311 2442 l 1165 2482 l 1289 2479 l 1181 2539 l cp
+eoclip
+n 1357.6 2923.7 451.8 -96.7 11.7 arcn
+gs col0 s gr
+ gr
+
+% arrowhead
+n 1780 3152 m 1794 3030 l 1724 3132 l 1780 3152 l cp gs 0.00 setgray ef gr col0 s
+% arrowhead
+n 1181 2539 m 1289 2479 l 1165 2482 l 1181 2539 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+n 1350 1800 m 2475 1800 l 2475 2925 l 1350 2925 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Polyline
+gs clippath
+2715 2955 m 2715 2895 l 2564 2895 l 2684 2925 l 2564 2955 l cp
+eoclip
+n 1260 2925 m
+ 2700 2925 l gs col0 s gr gr
+
+% arrowhead
+n 2564 2955 m 2684 2925 l 2564 2895 l 2564 2955 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+1380 1560 m 1320 1560 l 1320 1711 l 1350 1591 l 1380 1711 l cp
+eoclip
+n 1350 3015 m
+ 1350 1575 l gs col0 s gr gr
+
+% arrowhead
+n 1380 1711 m 1350 1591 l 1320 1711 l 1380 1711 l cp gs 0.00 setgray ef gr col0 s
+/Symbol ff 180.00 scf sf
+495 3420 m
+gs 1 -1 sc (q=3p/2) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1305 1530 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2745 3015 m
+gs 1 -1 sc (x) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1125 2250 m
+gs 1 -1 sc (A) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1935 3150 m
+gs 1 -1 sc (B) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/fig/rotate_octant.fig b/doc/fig/rotate_octant.fig
new file mode 100644
index 0000000..83d2834
--- /dev/null
+++ b/doc/fig/rotate_octant.fig
@@ -0,0 +1,25 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 50 0 -1 0.000 0 1 1 1 1357.558 2923.697 1305 2475 1035 3240 1800 3015
+ 1 1 1.00 60.00 120.00
+ 1 1 1.00 60.00 120.00
+2 2 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 5
+ 1350 1800 2475 1800 2475 2925 1350 2925 1350 1800
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1260 2925 2700 2925
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1350 3015 1350 1575
+4 0 0 50 0 32 12 0.0000 4 135 540 495 3420 q=3p/2\001
+4 0 0 50 0 16 12 0.0000 4 150 105 1305 1530 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 2745 3015 x\001
+4 0 0 50 0 16 12 0.0000 4 135 135 1125 2250 A\001
+4 0 0 50 0 16 12 0.0000 4 135 120 1935 3150 B\001
diff --git a/doc/fig/rotate_octant.fig.bak b/doc/fig/rotate_octant.fig.bak
new file mode 100644
index 0000000..ff81b04
--- /dev/null
+++ b/doc/fig/rotate_octant.fig.bak
@@ -0,0 +1,23 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 50 0 -1 0.000 0 1 1 1 1357.558 2923.697 1305 2475 1035 3240 1800 3015
+ 1 1 1.00 60.00 120.00
+ 1 1 1.00 60.00 120.00
+2 2 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 5
+ 1350 1800 2475 1800 2475 2925 1350 2925 1350 1800
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1260 2925 2700 2925
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1350 3015 1350 1575
+4 0 0 50 0 32 12 0.0000 4 135 540 495 3420 q=3p/2\001
+4 0 0 50 0 16 12 0.0000 4 150 105 1305 1530 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 2745 3015 x\001
diff --git a/doc/fig/rotate_quadrant_example.eps b/doc/fig/rotate_quadrant_example.eps
new file mode 100644
index 0000000..100013a
--- /dev/null
+++ b/doc/fig/rotate_quadrant_example.eps
@@ -0,0 +1,200 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: rotate_quadrant_example.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Sat Jun 8 19:04:20 2002
+%%For: dp@nbdell15 (Denis Pollney,,,)
+%%BoundingBox: 0 0 302 203
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 203 moveto 0 0 lineto 302 0 lineto 302 203 lineto closepath clip newpath
+-65.2 249.4 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+ /DrawEllipse {
+ /endangle exch def
+ /startangle exch def
+ /yrad exch def
+ /xrad exch def
+ /y exch def
+ /x exch def
+ /savematrix mtrx currentmatrix def
+ x y tr xrad yrad sc 0 0 1 startangle endangle arc
+ closepath
+ savematrix setmatrix
+ } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+0 slj 0 slc
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Polyline
+7.500 slw
+n 3375 1350 m 1800 2250 l 3375 2250 l 4950 1350 l 3375 1350 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Polyline
+n 1800 2250 m 3375 2250 l 3375 3465 l 1800 3465 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Polyline
+n 3375 2250 m 3375 3465 l 4950 2520 l 4950 1350 l 3375 2250 l
+ cp gs col6 1.00 shd ef gr gs col0 s gr
+% Ellipse
+n 2700 1350 315 135 0 360 DrawEllipse gs col0 s gr
+
+% Polyline
+gs clippath
+1142 3806 m 1171 3858 l 1303 3783 l 1184 3817 l 1273 3731 l cp
+eoclip
+n 1800 3465 m
+ 1170 3825 l gs col0 s gr gr
+
+% arrowhead
+n 1273 3731 m 1184 3817 l 1303 3783 l 1273 3731 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+ [60] 0 sd
+n 1805 3474 m
+ 4145 2124 l gs col0 s gr [] 0 sd
+% Polyline
+ [60] 0 sd
+n 4140 2970 m
+ 1575 2970 l gs col0 s gr [] 0 sd
+% Polyline
+gs clippath
+5685 3000 m 5685 2940 l 5534 2940 l 5654 2970 l 5534 3000 l cp
+eoclip
+n 4140 2970 m
+ 5670 2970 l gs col0 s gr gr
+
+% arrowhead
+n 5534 3000 m 5654 2970 l 5534 2940 l 5534 3000 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+ [60] 0 sd
+n 1800 2970 m
+ 1575 2970 l gs col0 s gr [] 0 sd
+% Polyline
+gs clippath
+2730 885 m 2670 885 l 2670 1036 l 2700 916 l 2730 1036 l cp
+eoclip
+n 2700 1710 m
+ 2700 900 l gs col0 s gr gr
+
+% arrowhead
+n 2730 1036 m 2700 916 l 2670 1036 l 2730 1036 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+ [60] 0 sd
+n 3375 1350 m
+ 3375 2250 l gs col0 s gr [] 0 sd
+% Polyline
+ [60] 0 sd
+n 2700 1755 m
+ 2700 3465 l gs col0 s gr [] 0 sd
+% Polyline
+n 2700 3465 m
+ 2700 3825 l gs col0 s gr
+% Polyline
+gs clippath
+3075 3660 m 3135 3660 l 3135 3509 l 3105 3629 l 3075 3509 l cp
+3135 3225 m 3075 3225 l 3075 3376 l 3105 3256 l 3135 3376 l cp
+eoclip
+n 3105 3240 m
+ 3105 3645 l gs col0 s gr gr
+
+% arrowhead
+n 3135 3376 m 3105 3256 l 3075 3376 l 3135 3376 l cp gs 0.00 setgray ef gr col0 s
+% arrowhead
+n 3075 3509 m 3105 3629 l 3135 3509 l 3075 3509 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+1035 3960 m
+gs 1 -1 sc (x) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2655 855 m
+gs 1 -1 sc (z) col0 sh gr
+/Helvetica ff 180.00 scf sf
+5715 3015 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+3240 3690 m
+gs 1 -1 sc (reflection plane) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1755 1395 m
+gs 1 -1 sc (rotation) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1890 1575 m
+gs 1 -1 sc (axis) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/fig/rotate_quadrant_example.fig b/doc/fig/rotate_quadrant_example.fig
new file mode 100644
index 0000000..1b8b9df
--- /dev/null
+++ b/doc/fig/rotate_quadrant_example.fig
@@ -0,0 +1,47 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 2700 1350 315 135 2700 1350 3015 1350
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1800 3465 1170 3825
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 1805 3474 4145 2124
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 4140 2970 1575 2970
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 4140 2970 5670 2970
+2 3 0 1 0 6 60 0 20 0.000 0 0 -1 0 0 6
+ 3375 1350 1800 2250 3375 2250 4950 1350 3375 1350 3375 1350
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 1800 2970 1575 2970
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 2700 1710 2700 900
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 3375 1350 3375 2250
+2 2 0 1 0 6 60 0 20 0.000 0 0 -1 0 0 5
+ 1800 2250 3375 2250 3375 3465 1800 3465 1800 2250
+2 3 0 1 0 6 60 0 20 0.000 0 0 -1 0 0 6
+ 3375 2250 3375 3465 4950 2520 4950 1350 3375 2250 3375 2250
+2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 2700 1755 2700 3465
+2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
+ 2700 3465 2700 3825
+2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 1 2
+ 1 1 1.00 60.00 120.00
+ 1 1 1.00 60.00 120.00
+ 3105 3240 3105 3645
+4 0 0 50 0 16 12 0.0000 4 105 90 1035 3960 x\001
+4 0 0 50 0 16 12 0.0000 4 105 90 2655 855 z\001
+4 0 0 50 0 16 12 0.0000 4 150 105 5715 3015 y\001
+4 0 0 50 0 16 12 0.0000 4 180 1290 3240 3690 reflection plane\001
+4 0 0 50 0 16 12 0.0000 4 135 615 1755 1395 rotation\001
+4 0 0 50 0 16 12 0.0000 4 135 330 1890 1575 axis\001
diff --git a/doc/fig/rotate_reflect.eps b/doc/fig/rotate_reflect.eps
new file mode 100644
index 0000000..9f2ce06
--- /dev/null
+++ b/doc/fig/rotate_reflect.eps
@@ -0,0 +1,340 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: rotate_reflect.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Sat Jun 8 18:20:30 2002
+%%For: dp@nbdell15 (Denis Pollney,,,)
+%%BoundingBox: 0 0 524 277
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 277 moveto 0 0 lineto 524 0 lineto 524 277 lineto closepath clip newpath
+-10.6 340.9 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+0 slj 0 slc
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Polyline
+435.000 slw
+gs clippath
+3300 2580 m 3300 1830 l 3161 1830 l 3281 2205 l 3161 2580 l cp
+eoclip
+n 2385 2205 m
+ 3285 2205 l gs col6 s gr gr
+
+% arrowhead
+7.500 slw
+n 3161 2580 m 3281 2205 l 3161 1830 l 3161 2580 l cp gs col6 1.00 shd ef gr col6 s
+% Polyline
+435.000 slw
+gs clippath
+6225 2580 m 6225 1830 l 6086 1830 l 6206 2205 l 6086 2580 l cp
+eoclip
+n 5310 2205 m
+ 6210 2205 l gs col6 s gr gr
+
+% arrowhead
+7.500 slw
+n 6086 2580 m 6206 2205 l 6086 1830 l 6086 2580 l cp gs col6 1.00 shd ef gr col6 s
+% Polyline
+435.000 slw
+gs clippath
+4965 4830 m 4965 4080 l 4826 4080 l 4946 4455 l 4826 4830 l cp
+eoclip
+n 3800 4455 m
+ 4950 4455 l gs col7 1.00 shd ef gr gs col6 s gr gr
+
+% arrowhead
+7.500 slw
+n 4826 4830 m 4946 4455 l 4826 4080 l 4826 4830 l cp gs col6 1.00 shd ef gr col6 s
+% Polyline
+gs clippath
+1815 2280 m 1815 2220 l 1664 2220 l 1784 2250 l 1664 2280 l cp
+eoclip
+n 1125 2250 m
+ 1800 2250 l gs col0 s gr gr
+
+% arrowhead
+n 1664 2280 m 1784 2250 l 1664 2220 l 1664 2280 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+643 2689 m 685 2731 l 792 2625 l 686 2689 l 749 2582 l cp
+eoclip
+n 1125 2250 m
+ 675 2700 l gs col0 s gr gr
+
+% arrowhead
+n 749 2582 m 686 2689 l 792 2625 l 749 2582 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+1155 1560 m 1095 1560 l 1095 1711 l 1125 1591 l 1155 1711 l cp
+eoclip
+n 1125 2250 m
+ 1125 1575 l gs col0 s gr gr
+
+% arrowhead
+n 1155 1711 m 1125 1591 l 1095 1711 l 1155 1711 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+630 2835 m
+gs 1 -1 sc (x) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1845 2340 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+1080 1530 m
+gs 1 -1 sc (z) col0 sh gr
+% Polyline
+gs clippath
+7365 1560 m 7305 1560 l 7305 1711 l 7335 1591 l 7365 1711 l cp
+eoclip
+n 7335 2250 m
+ 7335 1575 l gs col0 s gr gr
+
+% arrowhead
+n 7365 1711 m 7335 1591 l 7305 1711 l 7365 1711 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6645 2220 m 6645 2280 l 6796 2280 l 6676 2250 l 6796 2220 l cp
+eoclip
+n 7335 2250 m
+ 6660 2250 l gs col0 s gr gr
+
+% arrowhead
+n 6796 2220 m 6676 2250 l 6796 2280 l 6796 2220 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+7816 1810 m 7774 1768 l 7667 1874 l 7774 1811 l 7710 1917 l cp
+eoclip
+n 7335 2250 m
+ 7785 1800 l gs col0 s gr gr
+
+% arrowhead
+n 7710 1917 m 7774 1811 l 7667 1874 l 7710 1917 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+7290 1530 m
+gs 1 -1 sc (z) col0 sh gr
+/Helvetica ff 180.00 scf sf
+6525 2295 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+7785 1800 m
+gs 1 -1 sc (x) col0 sh gr
+% Polyline
+gs clippath
+4620 1560 m 4560 1560 l 4560 1711 l 4590 1591 l 4620 1711 l cp
+eoclip
+n 4590 2250 m
+ 4590 1575 l gs col0 s gr gr
+
+% arrowhead
+n 4620 1711 m 4590 1591 l 4560 1711 l 4620 1711 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+4108 2689 m 4150 2731 l 4257 2625 l 4151 2689 l 4214 2582 l cp
+eoclip
+n 4590 2250 m
+ 4140 2700 l gs col0 s gr gr
+
+% arrowhead
+n 4214 2582 m 4151 2689 l 4257 2625 l 4214 2582 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3855 2220 m 3855 2280 l 4006 2280 l 3886 2250 l 4006 2220 l cp
+eoclip
+n 4545 2250 m
+ 3870 2250 l gs col0 s gr gr
+
+% arrowhead
+n 4006 2220 m 3886 2250 l 4006 2280 l 4006 2220 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3900 2220 m 3900 2280 l 4051 2280 l 3931 2250 l 4051 2220 l cp
+eoclip
+n 4590 2250 m
+ 3915 2250 l gs col0 s gr gr
+
+% arrowhead
+n 4051 2220 m 3931 2250 l 4051 2280 l 4051 2220 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+4050 2835 m
+gs 1 -1 sc (x) col0 sh gr
+/Helvetica ff 180.00 scf sf
+3780 2295 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+4545 1530 m
+gs 1 -1 sc (z) col0 sh gr
+% Polyline
+gs clippath
+6240 3810 m 6180 3810 l 6180 3961 l 6210 3841 l 6240 3961 l cp
+eoclip
+n 6210 4500 m
+ 6210 3825 l gs col0 s gr gr
+
+% arrowhead
+n 6240 3961 m 6210 3841 l 6180 3961 l 6240 3961 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+5520 4470 m 5520 4530 l 5671 4530 l 5551 4500 l 5671 4470 l cp
+eoclip
+n 6210 4500 m
+ 5535 4500 l gs col0 s gr gr
+
+% arrowhead
+n 5671 4470 m 5551 4500 l 5671 4530 l 5671 4470 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6691 4060 m 6649 4018 l 6542 4124 l 6649 4061 l 6585 4167 l cp
+eoclip
+n 6210 4500 m
+ 6660 4050 l gs col0 s gr gr
+
+% arrowhead
+n 6585 4167 m 6649 4061 l 6542 4124 l 6585 4167 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+6165 3780 m
+gs 1 -1 sc (z) col0 sh gr
+/Helvetica ff 180.00 scf sf
+5400 4545 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+6660 4050 m
+gs 1 -1 sc (x) col0 sh gr
+% Polyline
+gs clippath
+3255 4530 m 3255 4470 l 3104 4470 l 3224 4500 l 3104 4530 l cp
+eoclip
+n 2565 4500 m
+ 3240 4500 l gs col0 s gr gr
+
+% arrowhead
+n 3104 4530 m 3224 4500 l 3104 4470 l 3104 4530 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+2083 4939 m 2125 4981 l 2232 4875 l 2126 4939 l 2189 4832 l cp
+eoclip
+n 2565 4500 m
+ 2115 4950 l gs col0 s gr gr
+
+% arrowhead
+n 2189 4832 m 2126 4939 l 2232 4875 l 2189 4832 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+2595 3810 m 2535 3810 l 2535 3961 l 2565 3841 l 2595 3961 l cp
+eoclip
+n 2565 4500 m
+ 2565 3825 l gs col0 s gr gr
+
+% arrowhead
+n 2595 3961 m 2565 3841 l 2535 3961 l 2595 3961 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 180.00 scf sf
+2070 5085 m
+gs 1 -1 sc (x) col0 sh gr
+/Helvetica ff 180.00 scf sf
+3285 4590 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2520 3780 m
+gs 1 -1 sc (z) col0 sh gr
+% Polyline
+n 180 1035 m 8460 1035 l 8460 3150 l 180 3150 l
+ cp gs col0 s gr
+% Polyline
+n 180 3285 m 8460 3285 l 8460 5400 l 180 5400 l
+ cp gs col0 s gr
+/Helvetica ff 180.00 scf sf
+2745 2340 m
+gs 1 -1 sc (y) col0 sh gr
+/Helvetica ff 180.00 scf sf
+2565 2160 m
+gs 1 -1 sc (reflect) col0 sh gr
+/Helvetica ff 180.00 scf sf
+3825 4410 m
+gs 1 -1 sc (rotate about) col0 sh gr
+/Helvetica ff 180.00 scf sf
+5490 2205 m
+gs 1 -1 sc (reflect) col0 sh gr
+/Helvetica ff 180.00 scf sf
+5670 2385 m
+gs 1 -1 sc (x) col0 sh gr
+/Helvetica ff 180.00 scf sf
+4230 4590 m
+gs 1 -1 sc (z) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/fig/rotate_reflect.fig b/doc/fig/rotate_reflect.fig
new file mode 100644
index 0000000..d5598ba
--- /dev/null
+++ b/doc/fig/rotate_reflect.fig
@@ -0,0 +1,101 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 630 1395 1980 2835
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1125 2250 1800 2250
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1125 2250 675 2700
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 1125 2250 1125 1575
+4 0 0 50 0 16 12 0.0000 4 105 90 630 2835 x\001
+4 0 0 50 0 16 12 0.0000 4 150 105 1845 2340 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 1080 1530 z\001
+-6
+6 6525 1395 7875 2340
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 7335 2250 7335 1575
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 7335 2250 6660 2250
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 7335 2250 7785 1800
+4 0 0 50 0 16 12 0.0000 4 105 90 7290 1530 z\001
+4 0 0 50 0 16 12 0.0000 4 150 105 6525 2295 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 7785 1800 x\001
+-6
+6 3780 1395 4635 2835
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 4590 2250 4590 1575
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 4590 2250 4140 2700
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 4545 2250 3870 2250
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 4590 2250 3915 2250
+4 0 0 50 0 16 12 0.0000 4 105 90 4050 2835 x\001
+4 0 0 50 0 16 12 0.0000 4 150 105 3780 2295 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 4545 1530 z\001
+-6
+6 5400 3645 6750 4590
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 6210 4500 6210 3825
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 6210 4500 5535 4500
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 6210 4500 6660 4050
+4 0 0 50 0 16 12 0.0000 4 105 90 6165 3780 z\001
+4 0 0 50 0 16 12 0.0000 4 150 105 5400 4545 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 6660 4050 x\001
+-6
+6 2070 3645 3420 5085
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 2565 4500 3240 4500
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 2565 4500 2115 4950
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 60.00 120.00
+ 2565 4500 2565 3825
+4 0 0 50 0 16 12 0.0000 4 105 90 2070 5085 x\001
+4 0 0 50 0 16 12 0.0000 4 150 105 3285 4590 y\001
+4 0 0 50 0 16 12 0.0000 4 105 90 2520 3780 z\001
+-6
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 180 1035 8460 1035 8460 3150 180 3150 180 1035
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 180 3285 8460 3285 8460 5400 180 5400 180 3285
+2 1 0 30 6 7 60 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 750.00 120.00
+ 2385 2205 3285 2205
+2 1 0 30 6 7 60 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 750.00 120.00
+ 5310 2205 6210 2205
+2 1 0 30 6 7 60 0 20 0.000 0 0 -1 1 0 2
+ 1 1 1.00 750.00 120.00
+ 3800 4455 4950 4455
+4 0 0 50 0 16 12 0.0000 4 150 105 2745 2340 y\001
+4 0 0 50 0 16 12 0.0000 4 135 510 2565 2160 reflect\001
+4 0 0 50 0 16 12 0.0000 4 135 990 3825 4410 rotate about\001
+4 0 0 50 0 16 12 0.0000 4 135 510 5490 2205 reflect\001
+4 0 0 50 0 16 12 0.0000 4 105 90 5670 2385 x\001
+4 0 0 50 0 16 12 0.0000 4 105 90 4230 4590 z\001