title: Wrap an image around a cylinder
body: <p>Someone asked me recently if I could print a bracelet with a custom image engraved on its side.</p>
  
  <p>To me, the problem is simple: I have a 2d cartesian system (x,y) that expresses the points of the vectorized image the person sent me. I want to treat these as a 3d cylindrical system (theta, r, z') where r is constant. Finally, I want to convert this 3d cylindrical system to a 3d cartesian system (x',y',z') in the usual way.</p>
  
  <p>So:</p>
  
  <pre><code>z' = y
  y' = r cos(x)
  x' = r sin(x)
  </code></pre>
  
  <p>The problem is I don't know how to express this to OpenSCAD. There is an option for matrix transformation using multmatrix(), but this only allows for linear transformation - i.e. I can't express things like cos(x), at least to my knowledge. </p>
  
  <p>What I want is either:</p>
  
  <ul>
  <li><p>an existing module/hack to express this transformation, or</p></li>
  <li><p>a generic method for performing per-vertex transformations, much like a vertex shader in glsl</p></li>
  </ul>
  
  <p>At very least, is it possible to confirm such things are not available in OpenSCAD?</p>