4

Imagine I have a circular path like this:

enter image description here

In reality it is much more complex, with hundred or so anchors (and it is more close to a circle). I want to straighten it in a way, that the form is preserved (inner contour points will get farther apart, outer will get closer). I tried with Puppet tool, it sorta works, but since I have to move all points myself, the whole thing gets quite distorted and uneven. I want to do something like Puppet tool does, but make it automatically place points along the circle and then automatically move them in a line keeping original distances between points. I hope it make sense. Any ideas?

  • Hi. Welcome to GDSE. What software are you using, and why are you trying to do that? Why not just re-draw the shape as it should be? – Billy Kerr Mar 29 at 21:49
  • @BillyKerr ah sorry, forgot to specify that I am using Adobe Illustrator. Why not redraw? Because I bought an existing vector shape that I want to alter into something that just doesn't exist on stock images sites. – Andrey Mar 29 at 22:37
  • Hmm, idk how far in you are into the project etc. but have you considered just recreating the shape the way you need it? I think the answer using Moi3D seems pretty solid - but if it's just a tiny hobby project - perhaps you can just recreate it. Again, just a suggestion - not sure how complex the actual shape is or how important precision is. – WELZ Mar 29 at 23:30
  • OK, I've added an answer now. – Billy Kerr Mar 30 at 0:50
  • @WELZ I just can't recreate it, I am not a graphic designer, I just bought a vector image that I wanted to adjust for my needs. I am considering hiring someone maybe to redraw in linearly, but this is costly for a tiny personal hobby project. – Andrey Mar 31 at 23:05
6

One possibility would be to use a polar transform. Unfortunately there's nothing in Illustrator that can do that as far as I know (unless there's a script/plugin perhaps?), but it could be done in Photoshop. Then I suppose you could copy and paste the raster image back into Illustrator and auto trace it. Obviously I don't know closely this will fit your particular requirements.

Here's an example with a highly complex irregular circular shape, just for the sake of a rather extreme example. I filled it black to make the final image trace step easier.

enter image description here

I copied and pasted it as a raster image into Photoshop. Scaled it smaller into the middle of the canvas. Then I did Filters > Distort > Polar Transform, and selected the "Polar to Rectangular" option.

The result is somewhat distorted but I just squished it vertically

enter image description here

Finally I copied and pasted it back into Illustrator, and did an image trace

enter image description here

Finally I expanded the image trace, set a stroke and no fill

enter image description here

| improve this answer | |
2

This can be solved in Moi3D.

Program Moi3D is actually a quite rudimentary 3D modelling tool (=no materials, no photorealism, no physics simulation etc...) But it has many useful geometry tools.

enter image description here

The red curve is assumed to be straightened. It's drawn by me, but as well it could be taken from Illustrator. The green curve is the guessed midline that should become a straight line.

The program has function "Flow" which got the red curve to be flown, its base spine curve was defined to be the green arc and the target was defined to be the black line. The result after clicking OK is colored (by me) to blue. Its still an editable path and can be taken back to Illustrator.

If the green spine is drawn as a polyline instead of smooth curve, the result is also a polyline, but the result has self-cutting loops, which probably make it useless:

enter image description here

Then something out of my capabilities: A competent programmer can make an Illustrator script which makes the same transformation as the upper flow in Moi3D.

| improve this answer | |
  • The upper transformation looks like exactly what I need. I am working with Illustrator, I will check out Moi3D. – Andrey Mar 29 at 22:39
  • @Andrey Moi3D is an old one man's project, but still alive. It's not freeware. It probably knows nothing of the Ai files of modern Illustrator. I have used PDF as the exchange format. Program Rhinoceros and Moi3D have some ancient common ancestor, so Rhinoceros can be your other option (not tried this, costs a fortune) – user287001 Mar 29 at 22:47
  • Interesting stuff, but might be an overkill for a tiny hobby project :( – Andrey Mar 29 at 22:55
  • Could do similar thing in Blender or Modo, FYI – GerardFalla Mar 31 at 16:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.