How to create a curved arrow?

In my “3D diagram”, I want to draw a flat arrow that shows how an object is being rotated. So imagine a flat arrow, then roll it around a cylinder to make it curved. When viewed in the plane, it will look like an elongated rectangle with a triangle glued to the short end. From the side, after curving, it will look like the letter C.

Now, this should be a simple task, right? But I cannot figure out how to do it.

  1. I tried subsurf, because that’s what I know best. However I’m having trouble with the arrowhead. To make the sides of the arrowhead pointy, I need to crease the edges. But this will also make a sharp corner where the arrow’s “shaft” meets the “point”, and that is not what I want. See the attached image, where I put the 3D cursor on the overly sharp edge.

  2. I also tried a Bezier curve, which works fine as long as I work in the plane, but when I want to curve it I need to switch on the 3D option in the Curve and Surface panel, and the curve is no longer filled.

  3. Finally I tried NURBS but I couldn’t figure out how to extrude the sides of the square NURBS plane to create the topology I wanted. In any case, from what I read on the web and in these forums, NURBS in Blender are not very usable at the moment.

Is there another approach that I’m overlooking? Is there a way to make any of these do what I want?

Thanks very much for your answers!

Attachments


Have a look at the tutorial in my sig for simple polyflow to make the arrow work in subsurf.

This polyflow will work for the tip: (just one side of it not the solid of course and you could then extrude it.)

http://www.lightwiki.com/images/6/69/Tetra3.gif

This polyflow will work for where the tip attaches to the stem:

http://www.lightwiki.com/images/5/52/LetterA6.gif

Based on these concepts:

Cross hatch for the tip and stem square ends,

http://www.lightwiki.com/images/5/59/CrossHatch3D.gif

Tight edge loop for the head connection.

http://www.lightwiki.com/images/d/d0/EdgeLoop2.gif

Basically if you do this and then have enough segments you can then just bend it.

Wow, thanks very much for this detailed explanation! I’ll try this tomorrow!

No Prob.

Here’s something that will give you a better idea about where to put the polyflow I am talking about.

Attachments


I would just convert a flat arrow to a mesh and add a curve modifier. Then you can tweak the bend by editing the curve.

Just drag the arrows in the BLEND file along the X-Axis.

Attachments

Arrows_2.blend (37.5 KB)

That is a cool technique. I love this aspect of Blender. The only problem of course is that unless you have a good number of segments you’ll see stepping on the curve of the arrow. The same technique could work on a subsurf mesh with smooth results so no reason not to use both.

That curve modifier solves it! I didn’t even know of its existence… Now I can just subsurf, and have the modifier deform after that. Even better, if I want to change the direction of the arrow I can just change the curve. Wonderful! Thanks a million!