ENH: Added UserGuide in AsciiDoc
[freefoam.git] / doc / UserGuide / mesh / assets / hexNumbering.asy
blobc7ba813d8fff47edf9ef8d7c7521a93d00aa10bc
1 import three;
3 settings.render = 0;
4 settings.prc = false;
5 settings.gsOptions="-r144x144";
6 size(11cm);
7 currentprojection=obliqueZ();
9 Z /= 2;
11 triple[] corners = {
12   Z,   X+Z,   X,   O,
13   Y+Z, X+Y+Z, X+Y, Y
15 pair[] corner_pos = {
16   SW, SE, SE, NW,
17   NW, SE, NE, NW
20 triple[] faces = {
21   (corners[0]+corners[4]+corners[7]+corners[3])/4,
22   (corners[1]+corners[2]+corners[6]+corners[5])/4,
23   (corners[0]+corners[1]+corners[5]+corners[4])/4,
24   (corners[2]+corners[3]+corners[7]+corners[6])/4,
25   (corners[0]+corners[3]+corners[2]+corners[1])/4,
26   (corners[4]+corners[5]+corners[6]+corners[7])/4,
29 triple[] edges = {
30   (corners[0]+corners[1])/2,
31   (corners[2]+corners[3])/2,
32   (corners[6]+corners[7])/2,
33   (corners[4]+corners[5])/2,
34   (corners[0]+corners[3])/2,
35   (corners[1]+corners[2])/2,
36   (corners[5]+corners[6])/2,
37   (corners[4]+corners[7])/2,
38   (corners[0]+corners[4])/2,
39   (corners[1]+corners[5])/2,
40   (corners[2]+corners[6])/2,
41   (corners[3]+corners[7])/2,
44 pair[] edge_pos = {
45   S, N, N, S,
46   N, S, S, N,
47   W, E, E, E
50 picture cube()
52   picture pic = new picture;
53   draw(pic, Z--O--X^^O--Y, dashed);
54   draw(pic, Z--X+Z--X+Z+Y--Z+Y--cycle^^
55        X+Z--X--X+Y--X+Y+Z^^
56        Y+Z--Y--X+Y);
57   return pic;
60 picture pic1 = cube();
61 picture pic3 = cube();
62 picture pic2 = cube();
64 for(int i=0; i<corners.length; ++i)
66   label(pic1, format("$%d$", i), corners[i], corner_pos[i]);
68 for(int i=0; i<faces.length; ++i)
70   label(pic2, format("$%d$", i), faces[i]);
72 for(int i=0; i<edges.length; ++i)
74   label(pic3, format("$%d$", i), edges[i], edge_pos[i]);
77 add(pic1);
78 add(shift(1.5X)*pic2);
79 add(shift(3X)*pic3);