visualisation/cube.tex

Thu, 07 Nov 2024 17:39:40 -0500

author
Tuomo Valkonen <tuomov@iki.fi>
date
Thu, 07 Nov 2024 17:39:40 -0500
changeset 35
8d26483c4333
parent 34
aa6129697116
child 36
fd878f456591
child 37
d7cd14b8ccc0
permissions
-rw-r--r--

something wrong

21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
1 \documentclass[tikz]{standalone}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
2 \usepackage{pgfplots}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
3 \usepackage{tikz-3dplot}
24
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
4 \usepackage[svgnames]{xcolor}
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
5 \usepgfplotslibrary{colorbrewer}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
6
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
7 \def\datapath{../res/}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
8
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
9 \begin{document}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
10
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
11 \tdplotsetmaincoords{50}{25}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
12
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
13 \def\onlyfront#1{
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
14 \ifnum#1=2\else\ifnum#1=4\else\ifnum#1=6\else
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
15 \def\pgfmathresult{}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
16 \fi\fi\fi}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
17
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
18 \def\onlyback#1{
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
19 \ifnum#1=1\else\ifnum#1=3\else\ifnum#1=5\else
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
20 \def\pgfmathresult{}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
21 \fi\fi\fi}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
22
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
23 \pgfplotsset{
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
24 % forget plot = no legend
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
25 cube/.style = {thick, gray!50!black,forget plot},
24
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
26 onlyfront/.code = \pgfplotsset{x filter/.code={\onlyfront{\thisrow{face}}}},
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
27 onlyback/.code = \pgfplotsset{x filter/.code={\onlyback{\thisrow{face}}}},
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
28 data/.style = {mark=*, blue, only marks},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
29 backdata/.style = {mark=*, blue!30!white, only marks, onlyback, forget plot},
24
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
30 iter1/.style = {mark=x, red},
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
31 iter2/.style = {mark=star, BlueViolet},
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
32 iter3/.style = {mark=asterisk, purple},
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
33 backiter1/.style = {mark=x, red!30!white, onlyback, forget plot},
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
34 backiter2/.style = {mark=star, BlueViolet!30!white, onlyback, forget plot},
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
35 backiter3/.style = {mark=asterisk, purple!30!white, onlyback, forget plot},
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
36 origin/.style = {mark=o, green, only marks, thick},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
37 surfstyle/.style = {very nearly opaque, forget plot},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
38 legend style = {
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
39 inner sep = 0pt,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
40 outer xsep = 5pt,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
41 outer ysep = 0pt,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
42 legend cell align = left,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
43 align = left,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
44 draw = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
45 fill = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
46 font = \small
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
47 },
23
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
48 illustr3d/.style = {
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
49 axis equal,
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
50 width=5cm,
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
51 height=5cm,
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
52 scale only axis,
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
53 enlargelimits=false,
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
54 colormap access=map,
34
aa6129697116 Same face path optimisation / possible fix
Tuomo Valkonen <tuomov@iki.fi>
parents: 24
diff changeset
55 colormap/Paired,
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
56 colorbar,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
57 point meta rel=axis wide,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
58 shader = interp,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
59 xlabel = {$x$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
60 ylabel = {$y$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
61 zlabel = {$z$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
62 ticks = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
63 axis line style = {draw=none},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
64 %axis x line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
65 %axis y line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
66 %axis z line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
67 legend columns = 3,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
68 legend style = {
24
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
69 at = {(0.5, 1.1)},
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
70 anchor = north,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
71 column sep = 1ex,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
72 },
24
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
73 mark size=1.5pt,
23
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
74 }
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
75 }
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
76
23
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
77 \begin{tikzpicture}
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
78 \begin{axis}[illustr3d]
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
79 \addplot3[cube] coordinates {(0, 0, 0) (0, 1, 0) (0, 1, 1) };
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
80 \addplot3[cube] coordinates {(0, 1, 0) (1, 1, 0) };
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
81 \addplot3[backdata] table[x=x,y=y,z=z] {\datapath/data.csv};
24
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
82 \addplot3[backiter1] table[x=x,y=y,z=z] {\datapath/x1_log.csv};
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
83 \addplot3[backiter2] table[x=x,y=y,z=z] {\datapath/x2_log.csv};
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
84 \addplot3[backiter3] table[x=x,y=y,z=z] {\datapath/x3_log.csv};
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
85
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
86 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
87 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
88 mesh/ordering=x varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
89 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
90 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
91 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
92 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
93 x = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
94 z = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
95 y expr = 0.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
96 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
97 ] {\datapath/F4.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
98 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
99 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
100 mesh/ordering=y varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
101 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
102 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
103 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
104 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
105 x expr = 1.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
106 y = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
107 z = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
108 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
109 ] {\datapath/F2.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
110 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
111 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
112 mesh/ordering=x varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
113 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
114 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
115 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
116 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
117 x = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
118 y = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
119 z expr = 1.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
120 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
121 ] {\datapath/F6.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
122
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
123 % Edges
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
124 \addplot3[cube] coordinates {(0, 0, 0) (1, 0, 0) (1, 0, 1) (0, 0, 1) (0, 0, 0)};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
125 \addplot3[cube] coordinates {(0, 0, 1) (0, 1, 1) (1, 1, 1) (1, 0, 1)};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
126 \addplot3[cube] coordinates {(1, 0, 0) (1, 1, 0) (1, 1, 1)};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
127
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
128 \addplot3[data,onlyfront] table[x=x,y=y,z=z] {\datapath/data.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
129 \addlegendentry{Data}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
130
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
131 \addplot3[origin,onlyfront] table[x=x,y=y,z=z] {\datapath/origin.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
132 \addlegendentry{Origin}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
133
24
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
134 \addplot3[iter1,onlyfront] table[x=x,y=y,z=z] {\datapath/x1_log.csv};
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
135 \addlegendentry{Iterates 1}
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
136 \addplot3[iter2,onlyfront] table[x=x,y=y,z=z] {\datapath/x2_log.csv};
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
137 \addlegendentry{Iterates 2}
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
138 \addplot3[iter3,onlyfront] table[x=x,y=y,z=z] {\datapath/x3_log.csv};
8b4b014277fa Multiple trajectories
Tuomo Valkonen <tuomov@iki.fi>
parents: 23
diff changeset
139 \addlegendentry{Iterates 3}
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
140 \end{axis}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
141 \end{tikzpicture}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
142
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
143 \end{document}

mercurial