Find all Equilateral Triangles with vertices on 3 straight lines

238 Views Asked by At

I have 3 straight lines of equations: $$r:\begin{cases}x+y-z=0\\2x-y=0\end{cases}$$ $$s:\begin{cases}2x-z=1\\x-y=0\end{cases}$$ $$t:\begin{cases}x+z=0\\x+y-z=\frac{1}{2}\end{cases}$$

Find all equilater triangles with vertices on $r,s,t$.

My idea was to equal the distance of the 3 straight line with generic points, but this way seems to be little complicated. It's like calculate: $$\lVert \overline{RS}\rVert=\lVert \overline{ST}\rVert=\lVert \overline{TR}\rVert$$ with $R\in r$, $S\in s$, $T\in t$, generic points on respective straight lines.

Is there a simple way to do this?

1

There are 1 best solutions below

1
On BEST ANSWER

I found a way to do it, but I wouldn't call it "easy". Here it is; hopefully someone can improve on it. Most of the scutwork was done via Mathematica.

The lines can be rewritten in parametric form as $$ r(\alpha) = (\alpha, 2 \alpha, 3 \alpha) \\ s(\beta) = (\beta, \beta, 2 \beta - 1) \\ t(\gamma) = (\gamma, -2 \gamma + \frac{1}{2}, -\gamma) $$ We then seek solutions to the equations $$ \|r(\alpha) - s(\beta)\|^2 = \|r(\alpha) - t(\gamma)\|^2 \\ \|r(\alpha) - t(\gamma)\|^2 = \|s(\beta) - t(\gamma)\|^2. $$ for $\alpha$, $\beta$, and $\gamma$. (These quantities are squared to eliminate the square roots.) Note that these equations are necessary and sufficient for the points $r(\alpha)$, $s(\beta)$, and $t(\gamma)$ to form an equilateral triangle.

If we expand out these polynomials, we find that they are equivalent to $$ \begin{cases} -18 \alpha \beta -12 \alpha \gamma +8 \alpha +6 \beta ^2-4 \beta -6 \gamma ^2+2 \gamma +\frac{3}{4} = 0 \\ 14 \alpha ^2+12 \alpha \gamma -2 \alpha -6 \beta ^2-6 \beta \gamma +5 \beta +2 \gamma -1 = 0 \end{cases} $$ Any simultaneous solution to these polynomials will provide a trio of points for which $r(\alpha)$, $s(\beta)$, and $t(\gamma)$ form an equilateral triangle. These two polynomials each form a hyperboloid in the space of all $\alpha$, $\beta$, and $\gamma$ parameters, and there do appear to be two intersection curves between them; thus, there are two distinct one-parameter families of triangles whose vertices live on $r$, $s$, $t$ respectively.

In the diagram below, the orange surface is the first polynomial above, while the blue polynomial is the second one. The red curve is their intersection; any point $\{\alpha, \beta, \gamma\}$ on either red curve will be yield an equilateral triangle with one point on each line. I have included the Mathematica code I used for this plot below; if you have access to Mathematica, I would recommend you try running it, as it will allow you to better visualize the 3D structure of the curves & surfaces.

enter image description here

Unfortunately, this is about as far as one can go in complete generality without having to solve relatively high-order polynomials over the real numbers. However, I was able to find a couple of sets of points on $r$, $s$, and $t$ which have particularly nice coordinates: the points $$ (0,0,0), \frac{1}{3} \left(1, 1, -1\right), \frac{1}{12} \left(2 \pm \sqrt{6}, 2 \mp 2 \sqrt{6}, -(2 \pm \sqrt{6}) \right) $$ are on $r$, $s$, and $t$ respectively, and form an equilateral triangle.


Mathematica code to generate the image above:

liner[\[Alpha]_] = {1, 2, 3} \[Alpha];
lines[\[Beta]_] = {1, 1, 2} \[Beta] + {0, 0, -1};
linet[\[Gamma]_] = {1, -2, -1} \[Gamma] + {0, 1/2, 0};

poly1 = (liner[\[Alpha]] - lines[\[Beta]]).(liner[\[Alpha]] - lines[\[Beta]]) 
  - (liner[\[Alpha]] - linet[\[Gamma]]).(liner[\[Alpha]] - linet[\[Gamma]]);
poly2 = (liner[\[Alpha]] - linet[\[Gamma]]).(liner[\[Alpha]] - linet[\[Gamma]]) 
  - (lines[\[Beta]] - linet[\[Gamma]]).(lines[\[Beta]] - linet[\[Gamma]]);

ContourPlot3D[{poly1 == 0, poly2 == 0}, {\[Alpha], -1,  1}, {\[Beta], -1, 1}, {\[Gamma], -1, 1}, 
 MeshFunctions -> {Function[{\[Alpha], \[Beta], \[Gamma], f}, poly1 - poly2]}, Mesh -> {{0}}, MeshStyle -> {{Red, Thick}}, 
 PlotPoints -> 50, AxesLabel -> {\[Alpha], \[Beta], \[Gamma]}, ContourStyle -> {Opacity[0.5]}]