1
$\begingroup$

I am trying to achieve the following transformation: I want to "flatten" a cylinder while keeping the distances of the cylinder layers.

I depicted the desired transformation to clear things up:

Cylinder to Plane while keeping distances/length

I found a related post here. But they don't keep the circular length of the layers and only unfold the cylinder with edges orthogonal to the resulting planes.

Does anybody know how I could achieve my transformation or knows how it is called? I have searched a lot but did not find anything.

Best regards!

$\endgroup$
6
  • $\begingroup$ Do you want it to be a simple cylinder, or do you use a cylinder as a starting point for more complex meshes? $\endgroup$ Commented Jan 20, 2022 at 21:55
  • $\begingroup$ Only a starting point for more complex meshes. $\endgroup$
    – z3phyr
    Commented Jan 20, 2022 at 21:56
  • $\begingroup$ I won't find time today then :) Maybe tomorrow... $\endgroup$ Commented Jan 20, 2022 at 21:59
  • $\begingroup$ I would be very thankful :-) $\endgroup$
    – z3phyr
    Commented Jan 20, 2022 at 22:05
  • $\begingroup$ IF I understand what you're asking, you want an area conserving cylinder to plane projection; performed twice, one on the outside (green) edge and once on the inside (red) edge, creating the top and bottom of a rhomboid box. The sort of thing printing presses do when they use a cylinder rotating over a plane to ink the paper, but with both sides inked? $\endgroup$ Commented Jan 21, 2022 at 1:38

1 Answer 1

2
$\begingroup$

We can do it with geometry nodes if you want:

enter image description here

You're basically talking about conversion from rectangular to polar coordinates, which gives us an angle and a length for each vertex. You're just multiplying your angle by your length (the angle, as radians, bakes in the pi factor.)

Note that in order to do this, we need to rip an edge of the cylinder. That edge needs to be at the exact -X (in object space) of the object. We're basically turning two circles into two line segments; circles don't have ends, but line segments do. In this particular case, I've given the rip some actual extent. If we don't give it actual extent, that face will turn into a doubled up face on the backside, as we interpolate from vertices at nearly -180 degrees to those at nearly 180 degrees.

There's another option, but it will require us to mark one edge of our rip:

enter image description here

Here, I've hidden a row of faces, so you can see which side of the ripped edges gets the vertex group. Then I create a corrective factor for this "side" of the cylinder (subtracting 2*pi from the angle.)

Of course, after doing this, you can apply the geometry nodes, make a copy and join as shapes, or just leave them live.

$\endgroup$
5
  • $\begingroup$ Thank you ! Will this also work with more complex shapes like in the linked post in my question description? $\endgroup$
    – z3phyr
    Commented Jan 20, 2022 at 22:49
  • $\begingroup$ It will be necessary to have a rip, in a straight line. But yes, it will work with complex shapes. But hold on a second, I screwed something up and need to edit; check back in ten minutes. $\endgroup$
    – Nathan
    Commented Jan 20, 2022 at 23:12
  • $\begingroup$ Plus, it uses object coordinates (axis and direction) to determine the polar coords; and the rip needs to be at exactly -x, as shown. (Edits are made now, go crazy!) $\endgroup$
    – Nathan
    Commented Jan 20, 2022 at 23:36
  • $\begingroup$ Can you use the file from the linked post (blend-exchange.com/b/dAL8mlLK) and add the result to your post if it is not too much work? $\endgroup$
    – z3phyr
    Commented Jan 20, 2022 at 23:40
  • $\begingroup$ Another problem solved (from my perspective) just by waiting it out :). However, it would be useful to also have a formula to position a vertex at an intermediary point, to get a(n un)bending animation. $\endgroup$ Commented Jan 21, 2022 at 10:24

You must log in to answer this question.

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