Cevian Triangle

Author

Eric W. Weisstein
February 16, 2008

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

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

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

Figure

t=Triangle[{{0,0},{1,0},{.2,.7}}];
ct=CevianTriangle[t,ctr={.2,.3,.5}];
Show[Graphics[{
t,
{Red,cev=Cevians[t,ctr]},
{Blue,CevianTriangle[t,ctr]},
PointLabels[Transpose[{VertexPoints[t],{"A","B","C"}}],LabelOffset->.03],
PointLabels[Transpose[{EndPoint/@cev,{"A'","B'","C'"}}],LabelOffset->.03,Blue],
PointLabels[{{Point[TrilinearToCartesian[t,ctr]],"P"}},Red,LabelOffset->.03]
}],AspectRatio->Automatic,PlotRange->All]

Side Lengths

Timing[l=FullSimplify[CevianTriangleSideLengths[{α,β,γ}][[1]],TriangleQ[]&&0<#<1&/@{α,β,γ}]]

(1/((a α+b β) (a α+c γ)))(Sqrt[a b c]√(a b c (α^2) (β^2)+α β (a ((a^2)-(b^2)-(c^2)) α+b ((a^2)-(b^2)+(c^2)) β) γ+c ((a^2) α β+(b-c) (b+c) α β+a b ((α^2)+(β^2))) (γ^2)))

l1=(a b c (α^2) (β^2)+α β (a ((a^2)-(b^2)-(c^2)) α+b ((a^2)-(b^2)+(c^2)) β) γ+c ((a^2) α β+(b-c) (b+c) α β+a b ((α^2)+(β^2))) (γ^2))

l2=a b c((α^2)(β^2)+(α^2)(γ^2)+(β^2)(γ^2))+α β γ(-a α(b^2+c^2-a^2)+b β(a^2+c^2-b^2)+c γ(a^2+b^2-c^2))

Simplify[Expand[l1-l2]]

FullSimplify[LawOfCosines[l2]]

(1/((a α+b β) (a α+c γ)))(√(a b c (α β γ (-a (-(a^2)+(b^2)+(c^2)) α+b ((a^2)-(b^2)+(c^2)) β+c ((a^2)+(b^2)-(c^2)) γ)+a b c ((α^2) (β^2)+(α^2) (γ^2)+(β^2) (γ^2)))))

(a b c√((β^2) (γ^2)+(α^2) (β^2)+(α^2)(γ^2)+2 α β γ (-α Cos[A]+β Cos[B]+γ Cos[C])))/((a α+b β) (a α+c γ))

((a b c (Sqrt[(α^2) (β^2)+(α^2) (γ^2)+(γ^2) (β^2)+2 α β γ (-α cos(A)+β cos(B)+γ cos(C))]))/((a α+b β) (a α+c γ)))

FullSimplify[DistanceTrilinears[(a b c√((β^2) (γ^2)+(α^2) (β^2)+(α^2)(γ^2)+2 α β γ (-α Cos[A]+β Cos[B]+γ Cos[C])))/((a α+b β) (a α+c γ))-l],TriangleQ[]&&0<#<1&/@{α,β,γ}]

Sum

FullSimplify[Plus@@CyclicTrilinears[(a b c√((β^2) (γ^2)+(α^2) (β^2)+(α^2)(γ^2)+2 α β γ (-α Cos[A]+β Cos[B]+γ Cos[C])))/((a α+b β) (a α+c γ))],TriangleQ[]&&0<#<1&/@{α,β,γ}]

Product

FullSimplify[Times@@CyclicTrilinears[(a b c√((β^2) (γ^2)+(α^2) (β^2)+(α^2)(γ^2)+2 α β γ (-α Cos[A]+β Cos[B]+γ Cos[C])))/((a α+b β) (a α+c γ))],TriangleQ[]&&0<#<1&/@{α,β,γ}]

Area

abc=CyclicTrilinears[(a b c√((β^2) (γ^2)+(α^2) (β^2)+(α^2)(γ^2)+2 α β γ (-α Cos[A]+β Cos[B]+γ Cos[C])))/((a α+b β) (a α+c γ))]

FullSimplify[Sqrt[FullSimplify[Together//@(16DistanceTrilinears[(ExpandAll[TriangleArea[abc]])^2]),TriangleQ[]]]/4,TriangleQ[]&&(α|β|γ)∈Reals]

FullSimplify[% Δ/TriangleArea[]]

Circumcircle

circ=Circumcircle[{0,q,r},{p,0,r},{p,q,0}];

Factor[-(1/(512(Area^10) p q  r(a p+b q) (a p+c r) (b q+c r)))Center[circ]]

Simplify[Factor[CircleRadius[circ]^2],TriangleQ[]]

Reflected Cevian Triangle

ReflectedCevianTriangle[t_Triangle,p_]:=Module[{ct=Vertices@CevianTriangle[t,p],m=Coordinates/@Midpoints[t]},Triangle[2m-ct]]

ReflectedCevianTrianglePoint[t_Triangle,p_]:=Module[{tri=Vertices[t],ct2=Vertices@ReflectedCevianTriangle[t,p]},Intersections[Line@{tri[[1]],ct2[[1]]},Line@{tri[[2]],ct2[[2]]}]]

ReflectedCevians[t_Triangle,p_]:=Module[{ct2=Vertices@ReflectedCevianTriangle[t,p],tri=Vertices[t],i},Table[Line[{tri[[i]],ct2[[i]]}],{i,3}]]

t=Triangle[{{0,0},{1,0},{.2,.7}}];

abc={.2,.4,.55};
ct=CevianTriangle[t,abc];
ctr=ReflectedCevianTriangle[t,abc];
Graphics[{
t,
{Red,ct,Dashing[{.02,.02}],Cevians[t,abc]},
{Blue,ctr,Dashing[{.02,.02}],ReflectedCevians[t,abc]},
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}],
Append[#,Red]&/@Transpose[{VertexPoints[ct],Superscript[#,"′"]&/@{"A","B","C"}}],
Append[#,Blue]&/@Transpose[{VertexPoints[ctr],Superscript[#,"′′"]&/@{"A","B","C"}}],
Transpose[{Midpoints[t],{"(Subscript[M, A])","(Subscript[M, B])","(Subscript[M, C])"}}],
{{Cartesian[abc[t]],Superscript["P","′′"],Red},{ReflectedCevianTrianglePoint[t,abc],Superscript["P","′"],Blue}}
],PointSize[.02],LabelOffset->.04]
}]

g1=

Cevian Circle Triangle

abc={.3,.5,.3};
ct=CevianTriangle[t,abc];
cc=Circumcircle[ct];
ctc=Triangle[Select[Coordinates/@Flatten[Intersections[cc,#]&/@Sides[t]],Norm[Nearest[Vertices[ct],#,1][[1]]-#]>.001&]];
ctl=Line/@Transpose[Vertices/@{t,ctc}];
p2=Intersections@@Take[ctl,2];

Graphics[{
t,cc,
{Red,ct,Dashing[{.02,.02}],Cevians[t,abc]},
{Blue,ctc,Dashing[{.02,.02}],ctl},
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}],
Append[#,Red]&/@Transpose[{VertexPoints[ct],Superscript[#,"′"]&/@{"A","B","C"}}],
Append[#,Blue]&/@Transpose[{VertexPoints[ctc],Superscript[#,"′′"]&/@{"A","B","C"}}],
{{p2,Superscript["P","′′"],Blue},{Cartesian[abc[t]],Superscript["P","′"],Red}}
],LabelOffset->.03]
}]

g2=

GraphicsGrid[{{g1,g2}},ImageSize->500]

Table

t=Triangle[Table[Random[Real,{0,1},50],{3},{2}]];
kc=KimberlingCenters;

Length[k=Vertices[Cartesian[CevianTriangle[#][t]]]&/@kc]//Timing

l={};
Do[
Print[l0={
i,
p=Triangles[[i]],
tri=Vertices[p[t]];
kc[[Flatten[Position[k,_?(#==tri&)]]]]//Timing
}];
AppendTo[l,l0],
{i,Length[Triangles]}
]

Nicely Formatted

DisplayForm[Grid[{#[[-1,-1,1]],CenterName[#[[-1,-1,1]]],TriangleName[#[[2]]]}&/@Sort[Select[l,#[[-1,-1]]=!={}&],#1[[-1,-1,1,1]]<#2[[-1,-1,1,1]]&],
RowLines->True,ColumnAlignments->Left
]
]