Hi everyone! As a beginner I got stuck when reading the documentation on the periodic triangulations! My question is about the "Offset" vector, the documentation says "It represents the number of periods a representative in the original domain must be translated in x and I wanted to visualize my periodic triangulation structure, but I do not know how to deal with the edges between an original point and a periodic copy. Thanks, James 
Hello, An illustration of the offsets is given this figure in the Periodic_3_triangulation_3 documentation. The offset vector (or just simply offset) expresses a translation: a periodic domain is an axisaligned cuboid that by definition repeats itself in the x, y and z directions and thus forms a tiling of the space. If we arbitrarily choose a tile and name it the main tile, we can number all the other tiles via 3 numbers, the amount of steps we have to do in the x, y, and z direction to reach that tile from the main tile. That's the offset. What is important to understand is that points of a periodic
triangulation all live in the same cube (the one with offset
(0,0,0), also known as fundamental or canonical
domain). Offsets are then used to indicate relative positions
within an element of the periodic triangulation. For example, in 3D and using the unit cube as fundamental domain, the cell composed of the points: (0.7, 0.9, 1.1) is going to be represented as (0.7, 0.9, 0.1) with offset (0,0,1) Best, Mael On 20/07/2018 01:42, GAD FLY wrote:

Thank you Mael for your detailed explanation. However, when for example a periodic point (xp,yp) in 2D has offset of (2,0), to find its position should we try (xp + 2*L , yp) where L is the box size? Best, James On Friday, July 20, 2018 3:42 AM, Mael <[hidden email]> wrote: Hello,
An illustration of the offsets is given this
figure in the Periodic_3_triangulation_3 documentation. The
offset vector (or just simply offset) expresses a translation: a
periodic domain is an axisaligned cuboid that by definition
repeats itself in the x, y and z directions and thus forms a
tiling of the space. If we arbitrarily choose a tile and name it
the main tile, we can number all the other tiles via 3 numbers,
the amount of steps we have to do in the x, y, and z direction to
reach that tile from the main tile. That's the offset.
What is important to understand is that points of a periodic
triangulation all live in the same cube (the one with offset
(0,0,0), also known as fundamental or canonical
domain). Offsets are then used to indicate relative positions
within an element of the periodic triangulation.
For example, in 3D and using the unit cube as fundamental domain,
the cell composed of the points:
(0.7, 0.9, 1.1)
(0.8, 0.8, 0.9) (0.9, 1.2, 0.9) (1.0, 0.9, 1.1) is going to be represented as
(0.7, 0.9, 0.1) with offset (0,0,1)
Thus, when you drawing your triangulation, you should iterate over
its elements and take into account the offsets to compute the
positions you have to draw in full space (this is basically reading
the example above from the bottom up). Whichever dimension you are
in, there are functions to obtain a position in Euclidean space from
a vertex within an element (e.g. periodic_point()). There
are also functions to save and output periodic triangulations, which
you can inspire yourself with if they're not satisfactory for you.(0.8, 0.8, 0.9) with offset (0,0,0) (0.9, 0.2, 0.9) with offset (0,1,0) (0.0, 0.9, 0.1) with offset (1,0,1) Best, Mael On 20/07/2018 01:42, GAD FLY wrote:

It seems the answer would be (xp  L, yp)? On Tuesday, July 24, 2018 9:52 AM, GAD FLY <[hidden email]> wrote: Thank you Mael for your detailed explanation. However, when for example a periodic point (xp,yp) in 2D has offset of (2,0), to find its position should we try (xp + 2*L , yp) where L is the box size? Best, James On Friday, July 20, 2018 3:42 AM, Mael <[hidden email]> wrote: Hello,
An illustration of the offsets is given this
figure in the Periodic_3_triangulation_3 documentation. The
offset vector (or just simply offset) expresses a translation: a
periodic domain is an axisaligned cuboid that by definition
repeats itself in the x, y and z directions and thus forms a
tiling of the space. If we arbitrarily choose a tile and name it
the main tile, we can number all the other tiles via 3 numbers,
the amount of steps we have to do in the x, y, and z direction to
reach that tile from the main tile. That's the offset.
What is important to understand is that points of a periodic
triangulation all live in the same cube (the one with offset
(0,0,0), also known as fundamental or canonical
domain). Offsets are then used to indicate relative positions
within an element of the periodic triangulation.
For example, in 3D and using the unit cube as fundamental domain,
the cell composed of the points:
(0.7, 0.9, 1.1)
(0.8, 0.8, 0.9) (0.9, 1.2, 0.9) (1.0, 0.9, 1.1) is going to be represented as
(0.7, 0.9, 0.1) with offset (0,0,1)
Thus, when you drawing your triangulation, you should iterate over
its elements and take into account the offsets to compute the
positions you have to draw in full space (this is basically reading
the example above from the bottom up). Whichever dimension you are
in, there are functions to obtain a position in Euclidean space from
a vertex within an element (e.g. periodic_point()). There
are also functions to save and output periodic triangulations, which
you can inspire yourself with if they're not satisfactory for you.(0.8, 0.8, 0.9) with offset (0,0,0) (0.9, 0.2, 0.9) with offset (0,1,0) (0.0, 0.9, 0.1) with offset (1,0,1) Best, Mael On 20/07/2018 01:42, GAD FLY wrote:

Hello, It depends what you mean by "position" :  If you mean you want to compute the canonical position because you have a point in R^2, you can compute its offset and then you'll have to subtract the offset to get the canonical position.  If you mean you want to compute the "real world" R^2 position because you have a canonical position (for example that of a vertex, obtained through v>point()) and you have a given offset, then you'll add the offset. I guess you mean the second case. p2t2.point(f, 0), p2t2.point(f, 1), p2t2.point(f, 2) will give you a geometrically correct face in R^2 (and thus you can draw your segments crossing the canonical cube borders correctly). Best, Mael On 24/07/2018 18:00, GAD FLY wrote:

Free forum by Nabble  Edit this page 