Desargues Theorem

Author

Eric W. Weisstein
October 20, 2004

This notebook downloaded from http://mathworld.wolfram.com/notebooks/PlaneGeometry/DesarguesTheorem.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/DesarguesTheorem.html.

©2005 Wolfram Research, Inc. except for portions noted otherwise

Code

Perspectrix[t__Triangle,d_:0]:=LongestLine[Coordinates/@Intersections@@@Transpose[Sides/@{t}],d]/;Length[{t}]==2

Figure

t1=Triangle[{{0,0},{1,0},{2,3/4}}];
t2=Triangle[{{1/2,3/2},{(671/816),3/4+1/2},{14/10,1/2+7/8}}];
rst=Intersections@@@Transpose[Sides/@{t1,t2}];
{{x1,y1},{x2,y2}}=Coordinates/@{VertexPoints[t1][[2]],Intersections@@(Line/@Transpose[Drop[Vertices[#],{2}]&/@{t1,t2}])};

Find the vertex B' with y==(5/4) that makes ΔABC and ΔA'B'C' in perspective

Solve[(y-y1)==((y2-y1)/(x2-x1))(x-x1)/.y->3/4+1/2,x]

Show[Graphics[
{
{Yellow,Polygon@@@{t1,t2}},
{Blue,
(LongestLine/@Append@@@Transpose[{Coordinates/@Sides[#],Coordinates/@rst}])&/@{t1,t2},
Dashing[{.02,.01}],Perspectrix[t1,t2]
},
t1,
t2,
{Red,Line[{Coordinates[p],#}]&/@Vertices[t1]},
PointLabels[Join[
Transpose[{VertexPoints[t1],{"A","B","C"}}],
Transpose[{VertexPoints[t2],{"A'","B'","C'"}}],
Append[#,Blue]&/@Transpose[{rst,{"T","S","R"}}],
{{Perspector[t1,t2],"O",Red}}
]]
}],AspectRatio->Automatic,PlotRange->All]

PerspectiveQ[t1,t2]