SEAMLESS TEXTURES

By changing from Cartesian (U,V) coordinates to cyclic axes mapped on a plane, one may produce seamless textures.

The join line has G1 continuity (tangent-smooth, with no sharp creases or “cliffs” at the seam).

One may think of generating a texture function on a cylinder (one loop) or torus (two loops). Both of these geometries do not have a seam.

For roll engraving cylindrical mapping can be used. A seam is formed along the roller axis but the texture is seamless around the roller.

For tileable patterns, independent cyclic loops are used for tiling in each of the U,V directions. One may think of generating a pattern on a donut, which again has no seam.

Examples are given for both cylindrical and tileable mapping using Blender.

Standard X,Y or U,V coordinates are transformed to cyclic axes using either cylindrical or toroidal mapping. The resulting textures are seamless, and in general G1 continuous unless F is a step function within the domain.

A multifractal noise function was used to generate a texture along Cartesian axes (left) and cyclic axes (right). An offset filter with wrap around shows the join lines when using conventional pattern generation. For the cylindrical mapping a seam is developed along the roller axis.

With this example a Manhattan voronoi dual frequency function was mapped in two cyclic loops (effectively around a torus) generating a tileable pattern as proven with no join lines after offset.