# Distributing points evenly between two fixed points

I have two fixed points, $P_1$ and $P_2$. I am trying to distribute $n$ points between them, so that the distance between every point is equal. This is easy when:

distance between points $\cdot (n-1) =$ distance between $P_1$ and $P_2$,

as they all follow the slope of the two fixed points, but I want to be able to increase the distance between them so that:

distance between points $\cdot (n-1) >$ distance between $P_1$ and $P_2$.

I have played around a lot with pythagorean methods, but I always seem to be one variable short.

Thanks for any help.

-
Do you want those $n$ points to like on the line between $P_1$ and $P_2$? In that case there is just one way to do it, and the distance between new points will be $|P_1-P_2|/(n+1)$. (Or $|P_1-P_2|/(n-1)$ depending on how you count points.) If you allow the points to be elsewhere on the plane, you can arrange them along a circular arc to create more space between. – user31373 Jun 25 '12 at 14:01
Hi yes I want to arrange the points elsewhere on the plane, so the total distance between all points is greater than the distance between p1 and p2. – Jonny Jun 25 '12 at 14:19
What do you mean with 'total distance between all'? It should be $\sum d(q_i,q_j)$? – Sigur Jun 25 '12 at 14:21

If I understand correctly, you want to have the same distance $d$ between consecutive points $p_1,q_1,q_2\dots,q_n,p_2$.

(1) One geometrically natural way to achieve this is to distribute the points uniformly on a circular arc with $p_1,p_2$ as endpoints. The center of the circle will be on the line that crosses the segment $p_1p_2$ in the middle and at the right angle. So it remains to find the radius $R$ of the circle. This requires trigonometry. Let $\alpha$ be the angle subtended by the chord $p_1p_2$. Then $$2R\sin\frac{\alpha}{2}=|p_1p_2|$$ The angle subtended by each of the other $n+1$ chords $p_1q_1$, $q_1q_2$... will be $$\beta=\frac{2\pi-\alpha}{n+1}$$ Finally, we want the length of the latter chords to be $d$, which means $$2R\sin\frac{\beta}{2}=d$$

Let's eliminate $\alpha$ via $\alpha=2\pi-(n+1)\beta$. Then we have the system $$\begin{cases} 2R\sin((n+1)\beta/2)&=|p_1p_2| \\ 2R\sin (\beta/2) &=d \end{cases}$$ Now it's easy to eliminate $R$ by division, but solving the remaining equation for $\beta$ will probably require a numerical solution by a computer. Once you have $\beta$, you get $R$ from either equation.

(2) Another way, which is what you actually wanted, is to place the points in a zig-zag curve. Well, we still need trigonometry. Let $\alpha$ be the angle between the segment $p_1p_2$ and the new segments of length $d$. Then the projection of each new segment onto $p_1p_2$ has length $d\cos\alpha$. Since there are $(n+1)$ such projections and their sum is the distance $|p_1p_2|$, we conclude that $(n+1)d\cos\alpha=|p_1p_2|$. From here we find $$\alpha=\cos^{-1}\frac{|p_1p_2|}{d(n+1)}$$ and now the position of all points is determined. Starting from $p_1$, we know the angle and the distance to $q_1$, so we place $q_1$ there, and go on.

-
Yes, I want to have the same point d between each point with p1 and p2 as endpoints. However I would like the points arranged not on an arc but in a zig zag/concertina style so that each point between p1 and p2 is on the opposite side of the slope to the previous. Does that make sense? I do have a useful picture but it won't let me upload it! – Jonny Jun 26 '12 at 7:56
Sorry there is a mistake in the first sentence, I meant the same DISTANCE d between each point, with p1 and p2 as endpoints. – Jonny Jun 26 '12 at 8:28
@Jonny You could put a picture on dropbox and post the link... – user31373 Jun 26 '12 at 13:27
Here is a link, apologies for the drawing but I think its probably much better than my explanation! Thanks again for any help. dl.dropbox.com/u/57655589/pointspacing.png – Jonny Jun 26 '12 at 15:13
@Jonny No problem, I added item (2) to the answer above. – user31373 Jun 26 '12 at 16:41