Is there an algorithm to orient several shapes/symbols towards the center of another shape?

What is the the easiest way to orient several shapes/symbols towards the center of another shape (see my sketch below) ?

In Illustrator, I know the rotate tool with the copy option, but I think it is not a smooth way to do it.

• How about arranging the surrounding objects horizontally, making that into a pattern brush (maybe), and applying the brush to a circle. Would that be good enough? Commented Sep 24, 2020 at 9:59
• My intuition tells me the blend tool should be able to be nudged to do this, but... I'm not sure how. Commented Sep 24, 2020 at 10:17
• As far as I know, there isn't an automatic way to do that in Illustrator with the standard set of tools. Is that what you are asking? Of course it may be possible to write a script which could do it. Commented Sep 24, 2020 at 14:54
• This wuestion totally glosses over the fact that inorder to rotate something towards another object you need to know a 3rd thing which is what is the side of the object that is considered the point that is towards another object. So the reason why such tools arent common is that there is un undefined variable. Untill its solved you cant build a tool for this. Commented Sep 24, 2020 at 15:04

Here's a way to do it that is more visual and less mathematical. Depending on your use case this option might work for you:

Use the Symbol Sprayer tool.

1. Create the Shape you want to point toward the center, and create a symbol from it:

1. Use the Symbol Sprayer tool from your toolbox: (Note: Depending on your Workspace settings it might be hidden. You can edit the Selection of tools in your toolbar at the very bottom of your toolbar.)

1. Spray some symbols around your center shape (the red dot):

1. Now you can use the additional tools in the Symbol Sprayer menu to adjust the sizing, placement and rotation of your shapes. You'll need to experiment a bit, as the way the tools work takes some getting used to. (Note: you can adjust the Sprayer settings such as size and density similar to the way you can adjust the regular brush tool. And holding alt while using the size brush decreases size.)

The result could look something like this:

• Very interesting way to do it ! Thanks. Commented Sep 29, 2020 at 12:51

To orient an existing cloud of shapes as wanted automatically needs a programmer and some assumption of "the right front face" of every shape.

Circles are easy because they need nothing.

The programming solution is beyond my capabilities, but drawing manually a cloud of shapes pointing to a common center is easy at least in Illustrator (see NOTE1)

Prepare the shapes which must be placed around the center symbol. Let each of them be grouped with a line, "a nose". In the next image the magenta lines are the noses:

The green circle is the wanted center.

Duplicate (=Alt+drag) and Rotate the shapes with noses as you like and drag them by keeping the cursor on the nose so that Smart Guides and Snap to Point force the dragging point to snap to the center.

Finally ungroup all, select one nose, select the rest by applying Select > Same > Stroke color and press DEL.

It works well also if you at first move the needed amount of the nosed shapes around the center object and then rotate with the rotation tool the nosed shapes. It needs some practicing to select a shape, set the rotation center and then rotate. You must have Smart Guides and Snap to Point ON. Beware snaps to predefined angles such as 90 or 45 degrees. That behaviour can be disabled in Illustrator Preferences.

Algorithm: If you can program properly elementary math formulas you can calculate the needed rotation angle for ex. with vector arithmetic.

Let An be the direction angle of the nose vector.

Let D be the vector from the centerpoint of the object to the orientation target point. It's simply the difference of the place vectors.

Calculate the direction angle of D (you surely find rectangular to polar transformation functions for it) and subtract from it angle An. That's the needed rotation angle.

NOTE1: In Inkscape this isn't as fast. You must have a node on the nose in the place which should be dragged to the center. Snapping works there differently.

• Thank you for your method ! Commented Sep 29, 2020 at 12:52