## restart: with(geometry): ## Given 3 distinct points, T, U, V on a line that does not pass through the ## origin, O. WLG let point U be between T and V. assume((x__||(1..4), y__||(1..4)) >~ 0); ## point(Op,[0,0]); point(T,[x__1,y__1]); point(U,[x__2,y__2]); point(V,[x__3,y__3]); ## Construct lines OT, OU, and OV. line(OT, [Op,T]); line(OU, [Op,U]); line(OV, [Op,V]); ## Let point B be any distinct point on line OU s.t. it is distinct from the ## origin. WLG let point B be on the point U side of the origin. point(B,[2*y__2,solve(subs(x=2*y__2,Equation(OU)),y)]); IsOnLine(B,OU); ## Construct a line, AD through point B perpendicular to line OT, ## intersecting lines OT, OU, and OV at points A, B, and pD, ## respectively. PerpendicularLine(AD,B,OT); ArePerpendicular(AD,OT); intersection(A,AD,OT); ## Let sTU be the distance from point T to point U, etc. Consider ## length of line segments sTU, sUV, and sAB. Mark point C on line AE ## s.t. point C is in the direction of point D from point B and the ## proportion sTU/sUV = sAB/sBC, where sBC is the distance from point ## B to C. point(C,[x__4,y__4]); sTU := distance(T,U): sUV := distance(U,V): sAB := distance(A,B): PerpendicularLine(CE,C,AD); ## proportional distance calculation sBC := sAB * sUV / sTU; ## distance(B,C) ## indets({distance(B,C) = sBC,subs({x=x__4,y=y__4},Equation(AD))}); sol := solve({ distance(B,C) = sBC, eval(Equation(AD),{x=x__4,y=y__4})},{x__4,y__4}); eval(Equation(AD),{x=x__4,y=y__4}); ## redefine point C with the calculated coordinates point(C,eval(coordinates(C),sol)); IsOnLine(C,AD); IsOnLine(C,CE); ## Proportional line segments. Construct two intersecting lines, ## intersecting at point M. Mark point P on one line at distance sTU ## from M. Mark point Q on line MP distance sUV from oint P ## s.t. point P is between points M and Q. Mark point K on the other ## line at distance sAB. Draw line PK. Construct ine QL through ## point Q parallel to line PK, intersecting line MK at point L. ## Then, the distances sMP/sPQ = sMK/sKL. ## Construct a line CE perpendicular to line AD, intersecting line OV ## at point E. PerpendicularLine(CE, C, AD); sol := solve({Equation(CE),Equation(OV)},{x,y}); point(E,[eval(x,sol), eval(y,sol)]); intersection(E, CE, OV); ## Draw line EF through points E and B, intersecting line OT at point ## F. line(EF,[E,B]); ## Prove line EF is parallel to line TV. ## theta = angle TOU ## phi = angle UOV ## by similar triangles, AOB and TOU, the respective angles are equal ## and the lines are parallel. ## by similar triangles, BOD and UOV, the respective angles are equal ## and the lines are parallel. ## QED