I've written a Cycles node tree to convert rectangular (X,Y) to polar coordinates (R,theta) as the basis for a procedural texture with radial symmetry.

However, there is a seam in the texture where theta jumps in value (-pi -> pi or 0 -> 2pi).

What are some of the techniques for eliminating this seam? I have found one method that uses a blended overlap region. Are there others?

  • 2
    $\begingroup$ Have a look at this: blender.stackexchange.com/a/45169/7777 $\endgroup$ Jan 27, 2016 at 13:26
  • $\begingroup$ That's useful for textures with regularity. Thank you for including the details of the node groups for the cylindrical and spherical projections. I will compare them to the node groups I created. I plan to use Noise, Voronoi, or Musgrave textures that do not repeat like the chevron in your solution. I expect the discontinuity at -pi (or 2pi) will be visible. $\endgroup$
    – astrogeek
    Jan 27, 2016 at 16:28
  • $\begingroup$ Yes, when the texture is not tiled you will have a seam. $\endgroup$ Jan 27, 2016 at 17:28
  • $\begingroup$ I am curious as if you have found a solution to this issue... $\endgroup$
    – Eranekao
    Mar 13, 2016 at 4:01
  • 2
    $\begingroup$ @VilkoL I haven't gotten back to this issue yet. I'm currently hiding the seam by using a texture with a really large scale (i.e. small-scale features) so the seam is largely mixed in among the many variations in the texture. I found this wonderful page paulbourke.net/texture_colour/edgeblend and intended to use his algorithm. The middle-to-last part of the page gets into the details. $\endgroup$
    – astrogeek
    Mar 18, 2016 at 1:24

1 Answer 1


Sine and cosine pair to bend an axis into a loop.

I'm using a sphere to represent to polar coordinates but the math applies regardless.

This will use up 2 axes of your procedural texture for the Theta component.

sphere with seamless tiling at its UV sphere

Important to have the theta properly in radians. here it's done by, mutiplying it by 2π.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .