# How to distribute objects in a circular pattern on a surface (Radial Array, Polar Array)

I'm modeling a bathroom interior, and I was wondering if there were any nice ways to distribute the little water spouts in their pattern along the black plastic for this shower head. Here is my reference image (sorry for the low quality) :

Thanks.

• the search term you're looking for is 'polar array' or 'radial array' (but sadly no-one uses the correct term in their questions) and already has answers: blender.stackexchange.com/questions/6023/… – zeffii Jun 5 '15 at 6:34

### Radial / Polar / Circle Array

First decide how many rings of holes you want, and the sizes of these various holes. The inner ring usually has a different hole count than the outer larger ring.

For the sake of demonstration let's say I pick 3 different sizes

hole count per ring | angle between each hole
--------------------+----------------
big hole: 20        | 360 / 20
smaller hole: 15    | 360 / 15
smallest hole: 10   | 360 / 10


A convenient way, which doesn't appear to be obvious for a lot of people, is to use the Array Modifier and a rotated Empty. The rotated empty will be used as the centre of the radial array. The rotation of the empty will control the angle of rotation of the arrayed objects.

If you want a radial array of 15 objects (for educational purposes I will array around the world center (0,0,0), and the plane is X,Y :

• you place an Empty at (0,0,0), rotate it around z by 360/15

• add a circle to the world at (0,0,0) and in edit mode move the vertices to in the X direction to until you are happy with where it is

• set the Object Offset to the rotated Empty

From that point it's up to you what you do, add more rings. In the end you might have something like this, i've zoomed into the Empties to show that it might look a bit cluttered and that's to be expected (this is why naming your Empties is very important)

Start off with a circle (I set mine to have 16 verts).

Then, in edit mode, extrude and scale it a few times until you come up with something like this (this will act as an emmitter object for the nubs later on):

With some simple modeling techniques model the nub.

Then, with your first circle object selected, create a hair particle system with advanced checked, the number of particles matching the amount of verts in the object (look at the header to see the amount), select verts, and uncheck random.

Then, under render, select object, and choose the nub object. Then check rotation, change the type to normal, and uncheck rotation. This fixing the rotation is probably a bug, but we can take advantage of it to give the nubs the proper orientation.

Then, scale down your nub to adjust the size on the emmiter.

Finally, in the modifiers settings of the emmitter object, convert the particle system, remove the emmitter object (this will make all the particles separate objects, but they will share the data with the nub we made earlier, just as if they where an AltD Copy.):

Then, finally, select the nub, and in the vertex data section, press the number next to the name of the vertex data

and then join the particle objects together.

All that it takes after that, is to move it into position with the the model of the actual shower head which can be done with some simple modeling.

• I'm sorry about the length of this, I'm going to clean it up tomorrow, and improve the images to take up less space and provide more clarity. – TARDIS Maker Jun 5 '15 at 5:44
• Awesome! Thank you so much for the detailed answer. I never thought of using a hair particle system. – Anson Savage Jun 5 '15 at 15:00
• You can do the same thing with dupliverts also. See this: blender.org/manual/modeling/objects/duplication/dupliverts.html – TARDIS Maker Jun 5 '15 at 17:47