All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 Unit lengths and triangles (Posted on 2009-09-09)
Given A=(1,0), B=(0,0), and C=(0,1)
find all unit length equilateral triangles XYZ such that the lengths AX, BY, and CZ are all one unit.

 No Solution Yet Submitted by Jer No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
 A computer solution Comment 2 of 2 |

1.  (1,1),(0,1),(1/2, 1+sqrt(3)/2)
2.  (1+sqrt(3)/2,1/2),(1,0),(1, 1)   --  reflection of 1
3.  (1-sqrt(3)/2,1/2),(1,0),(1, 1)
4.  (0,0),(sqrt(3)/2, -1/2),(sqrt(3)/2, 1/2)
5.  (0,0),(0,1),(sqrt(3)/2,1/2)
6.  (1,1),(0,1),(1/2, 1-sqrt(3)/2)   --  reflection of 3
7.  (1/2,sqrt(3)/2),(-1/2,sqrt(3)/2),(0,0)   --  reflection of 4
8.  (1/2,-sqrt(3)/2),(-1/2,-sqrt(3)/2),(0,0)
9.  (0,0),(0,1),(-sqrt(3)/2,1/2)
10. (0,0),(-sqrt(3)/2,-1/2),(-sqrt(3)/2,1/2) -- reflection of 8
11. (1/2,sqrt(3)/2),(1,0),(0,0)   -- reflection of 5
12. (1/2,-sqrt(3)/2),(1,0),(0,0)  -- reflection of 9

The above sets of points X, Y, Z were found using Geometer's Sketchpad.

The reflections are reflections of the triangle about the line x=y, and involve switching also the identities of points X and Z. I had missed triangles 11 and 12 above until looking for reflections of 5 and 9.

First points A, B and C were laid out, with a circle around B and around C with radius equal to BC. A point Z was placed on the circle about C to serve as one of the vertices of a triangle. GSP allows this point to be moved, together with all the points and lines dependent on Z's location along the circle.

Circles of the same radius are placed around Z and around A and both intersections of these circles are labeled X as they are at what is taken to be unit distance from A. For ease of finding, one side of the ultimate triangle is drawn (actually two segments, one from Z to each of the two X's).  Then the rotation transformation is used four times to provide points 60° on either side of each of the two X's along the circle about Z, and all four of these points are labeled Y, as they are potential candidates for Y.

Point Z is then moved along the circle about C until one or more of the potential Y points coincides with the circle about B; at that time it is truly a valid Y, and the position(s) of that (those) Y(s) is/are marked, along with the current Z position and the X or X's that go(es) with each of the Y's to form an equilateral triangle.

The coordinates and distances from each other and from the respective original points check out (checked before adding triangles 11 and 12, but the coordinates of those are just the reverse of 5 and 9, and so are also correct):

`1  1  0  1  .5  1.866025                         1  1  11.866025  .5  1  0  1  1                         1  1  1.1339746  .5  1  0  1  1                         1  1  10  0  .8660254 -.5  .8660254  .5                 1  1  10  0  0  1  .8660254  .5                         1  1  11  1  0  1  .5  .1339746                         1  1  1.5  .8660254 -.5  .8660254  0  0                 1  1  1.5 -.8660254 -.5 -.8660254  0  0                 1  1  10  0  0  1 -.8660254  .5                         1  1  10  0 -.8660254 -.5 -.8660254  .5                 1  1  1`
`1  1  0  1  .5  1.866025                         1  1  11.866025  .5  1  0  1  1                         1  1  1.1339746  .5  1  0  1  1                         1  1  10  0  .8660254 -.5  .8660254  .5                 1  1  10  0  0  1  .8660254  .5                         1  1  11  1  0  1  .5  .1339746                         1  1  1.5  .8660254 -.5  .8660254  0  0                 1  1  1.5 -.8660254 -.5 -.8660254  0  0                 1  1  10  0  0  1 -.8660254  .5                         1  1  10  0 -.8660254 -.5 -.8660254  .5                 1  1  1`

from

OPEN "test.txt" FOR INPUT AS #1
CLS
DO
INPUT #1, a, b, c, d, e, f
d1 = SQR((a - c) ^ 2 + (b - d) ^ 2)
d2 = SQR((a - e) ^ 2 + (b - f) ^ 2)
d3 = SQR((c - e) ^ 2 + (d - f) ^ 2)
PRINT a; b; c; d; e; f; TAB(50);
PRINT d1; d2; d3
LOOP UNTIL EOF(1)
CLOSE
PRINT : PRINT
OPEN "test.txt" FOR INPUT AS #1
DO
INPUT #1, a, b, c, d, e, f
d1 = SQR((a - 1) ^ 2 + (b) ^ 2)
d2 = SQR((c) ^ 2 + (d) ^ 2)
d3 = SQR((e) ^ 2 + (1 - f) ^ 2)
PRINT a; b; c; d; e; f; TAB(50);
PRINT d1; d2; d3
LOOP UNTIL EOF(1)
CLOSE

 Posted by Charlie on 2009-09-09 18:23:16

 Search: Search body:
Forums (0)