5
$\begingroup$

I was wondering how to find the vertices of an equilateral triangle given its center point?

Such as:

        A
        /\
       /  \
      /    \
     /   M  \
  B /________\ C

Provided that AB, AC, BC = x and M = (50,50) and M is the middle of the triangle, I want to find A, B and C.

Thanks.

$\endgroup$
4
  • 4
    $\begingroup$ This is unsolvable since any rotation of a possible solution gives another. Are you enforcing that one of the points lies directly above the center? Then it's solvable $\endgroup$
    – Alex R.
    Jun 30, 2015 at 15:31
  • 1
    $\begingroup$ Is $x$ a known value? And do you want line segment $BC$ horizontal, as in the diagram? Without further restrictions such as these, there are infinitely many answers. $\endgroup$ Jun 30, 2015 at 15:31
  • 1
    $\begingroup$ Not without further information regarding the orientation of the triangle. Without that information, imagine rotating the triangle arbitrarily. $\endgroup$
    – Mark Viola
    Jun 30, 2015 at 15:32
  • $\begingroup$ @AlexR. Yeah, I actually want that point A will be above the center (same Y value). @RoryDaulton Yeah x will be a known positive number, and BC should be horizontal. $\endgroup$
    – DeepSpace
    Jun 30, 2015 at 15:33

3 Answers 3

9
$\begingroup$

Let's assume that $x$, the side of the equilateral triangle, is a known positive quantity and that side $BC$ is horizontal (or that point $A$ is directly above point $M$). Let's also assume you are using Cartesian coordinates (where increasing the first coordinate means moving right and increasing the second coordinate means moving up) and that $M$ is the point $(50,50)$.

Then $x$ is the side of the equilateral triangle $ABC$. By simple geometry we know that the altitude is $\frac{\sqrt 3}2x$. Point $M$ is the centroid of the triangle and is on the altitude which is also the median. This means the distance $AM$ is two-thirds the altitude, namely $\frac{\sqrt 3}3x$.

Therefore point $A$ is $\left( 50,50+\frac{\sqrt 3}3x \right)$.

Point $B$ is $\frac{\sqrt 3}2x$ down from $A$ and $\frac x2$ to the left, so point $B$ is $\left( 50-\frac x2,50-\frac{\sqrt 3}6x \right)$, and point $C$ is $\left( 50+\frac x2,50-\frac{\sqrt 3}6x \right)$.

I tested this answer with Geogebra, and it checks.

$\endgroup$
3
  • $\begingroup$ Indeed works.. Thanks! I accepted this answer because it was the easiest to implement programmatically. $\endgroup$
    – DeepSpace
    Jun 30, 2015 at 15:51
  • $\begingroup$ Yoou should probably define point $M$ as $(50, 50)$ somewhere. $\endgroup$ Apr 2, 2020 at 9:51
  • $\begingroup$ @creativecreatorormaybenot: Yes, you are right. I have added that to my answer. Thanks! $\endgroup$ Apr 3, 2020 at 10:27
2
$\begingroup$

Draw the circle of radius $\frac {\sqrt 3}3x$ around $M$. Pick an arbitrary point $A$ on this circle. Then intersect the circle of radius $X$ around $A$ with the first circle to determine $B,C$ as intersection points.

Note that $A$ could be picked anywhere on the circle, hence the result is not unique.

$\endgroup$
1
$\begingroup$

Note that we are assuming that $BC$ is parallel to the coordinate axis. Now, we can get all the horizontal and vertical distances we need to solve this problem.

Let $P$ be the midpoint of $BC$. Note that we have $PC = BP = x/2$ and $MP = (x/2)/\sqrt{3}$. Finally, $MA = x/\sqrt{3}$. This should be enough to get all the coordinates.

EDIT: A better method, especially if the triangle can be in any orientation, is to first shift everything so that the center is at $(0,0)$. Now, we have that the distance from the center to any point is $R = x/\sqrt{3}$. Now, in complex numbers, we can express the three points as $R \cdot e^{i\theta}, R\cdot e^{i\theta + 2\pi/3}, R\cdot e^{i(\theta - 2\pi/3)}$. This is because each point is $120^\circ$ apart.

Now simplify shift everything back so that the center is $(50,50)$.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .