Perspectrix

Author

Eric W. Weisstein
December 6, 2005

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

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

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

Table

Triangles

Length[%]

Length[pairs=Subsets[Triangles,{2}]]

l={};
sides=SideLengths[Evaluate[RandomTriangle[50]]];
Do[
Print[AppendTo[l,{
i,
Name/@pairs[[i]],
pers=ToSidelengths[PerspectiveQ@@pairs[[i]]]/.Thread[{a,b,c}->sides],If[pers===True,KimberlingLookup[First[Perspectrix@@pairs[[i]]]],{}]
}][[-1]]
],
{i,Length[pairs]}];

Old

Print[Length[pairs=Subsets[Triangles,{2}]]];
t=Triangle[Table[Random[Real,{0,1},50],{3},{2}]];
kc=KimberlingCenters;
rules=Join[Thread[{a,b,c}->SideLengths[Evaluate[t]]],Thread[{A,B,C}->Angles[Evaluate[t]]]];

Length[k=Rest[#]/First[#]&/@((Trilinears/@KimberlingCenters)/.TriangleRules/.rules)]//Timing

search::zero="Bad zero encountered `1`";
l={};
Do[
Print[l0={
i,
pairs[[i]],
persp=PerspectiveQ@@pairs[[i]]/.TriangleRules/.rules,
If[persp,
rl=(Perspectrix@@pairs[[i]])[[1]]/.TriangleRules/.rules;
(pt=Switch[rl,
_?(#=={0,0,0}&),{0,0,0},
Or@@Thread[#==0]&,Message[search::zero,#];rl,
_,Rest[rl]/First[rl]
];
If[pt=={0,0,0},{0},
If[#=={},{},kc[[#]]]&[Flatten[Position[k,_?(#==pt&)]]]
]
),
{}]//Timing
}];
AppendTo[l,l0],
{i,Length[pairs]}
]

Formatted Table

(table={
Sequence@@#[[1]],
If[#[[-1]]=!={},Name[X[#[[-1,1]]]],"*"],
If[#[[-1]]=!={},L[#[[-1,1]]],"*"],
If[#[[-1]]=!={},If[Head[#]===Name,".",#]&[Name[CenterLine[X[#[[-1,1]]]]]],"*"]
}&/@Sort[Rest/@Select[l,#[[3]]&&#[[-1]]=!={6}&]]);

DisplayForm[Grid[table,RowLines->True,ColumnAlignments->Left
(*,RowBackgrounds->{{None,Yellow}}*)
]]

Perspectors Ordered by X-Center

ctrs=Union[Flatten[#[[-1,-1]]&/@Select[l,#[[3]]&]]]

ls=DeleteCases[Select[l,#[[3]]&],_?(#[[-1,-1]]=={}&)];

Function[ctr,{ctr/.X[n_]:>L[n],LineName[ctr],#[[2]]&/@Select[ls,#[[-1,-1,1]]==ctr&]}]/@ctrs

Common Perspectrices

Subsets[{ExcentralTriangle,ExtangentsTriangle,FeuerbachTriangle,IncentralTriangle,ReferenceTriangle},{2}]

New Kimberling Centers

t=Triangle[Table[Random[Real,{0,1},50],{3},{2}]];
Off[TrilinearToCartesian::"orient"];
sides=SideLengths[Evaluate[t]];
angles=Angles[Evaluate[t]];
rules=Join[Thread[{a,b,c}->sides],Thread[{A,B,C}->Angles]];

AnticomplementaryTriangle, CircumOrthicTriangle

Simplify[Together//@ToSidelengths[PerspectiveQ[AnticomplementaryTriangle,CircumOrthicTriangle]]]

Symmetrize[Together//@ToSidelengths[ExactTrilinears[Perspectrix[AnticomplementaryTriangle,CircumOrthicTriangle][[1]]][[1]]]]

InputForm[%]

AnticomplementaryTriangle,LemoineTriangle

persp=Symmetrize/@ExactTrilinears[Perspectrix[AnticomplementaryTriangle,LemoineTriangle][[1]]]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

anticomplementary triangle and Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[AnticomplementaryTriangle, NeubergTriangle[1]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

anticomplementary triangle and refelected Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[AnticomplementaryTriangle, NeubergTriangle[2]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

perspectrix of AnticomplementaryTriangle, SteinerTriangle

persp=Symmetrize/@ExactTrilinears[Perspectrix[AnticomplementaryTriangle,SteinerTriangle][[1]]]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

CircumOrthicTriangle, HalfAltitudeTriangle

Simplify[Together//@ToSidelengths[PerspectiveQ[HalfAltitudeTriangle,CircumOrthicTriangle]]]

Symmetrize[Together//@ToSidelengths[ExactTrilinears[Perspectrix[HalfAltitudeTriangle,CircumOrthicTriangle][[1]]][[1]]]]

InputForm[%]

circumcircle mid-arc triangle and Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[CircumcircleMidArcTriangle, NeubergTriangle[1]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

circumcircle mid-arc triangle and reflected Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[CircumcircleMidArcTriangle, NeubergTriangle[2]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

perspectrix of ExcentralTriangle,LemoineTriangle

persp=Symmetrize/@ExactTrilinears[Perspectrix[ExcentralTriangle,LemoineTriangle][[1]]]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

perspectrix of ExcentralTriangle,MacBeathTriangle

persp=Symmetrize/@ExactTrilinears[ToSidelengths[Perspectrix[ExcentralTriangle,MacBeathTriangle][[1]]]]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

excentral triangle and Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[ExcentralTriangle, NeubergTriangle[1]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

excentral triangle and Neuberg reflected triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[ExcentralTriangle, NeubergTriangle[2]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

perspectrix of ExcentralTriangle,YffTriangle

persp=Symmetrize/@ExactTrilinears[Perspectrix[ExcentralTriangle,YffTriangle][[1]]]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

Inner Napoleon triangle and Neuberg triangle

persp=Factor[Simplify[Together//@(ToSidelengths[Perspectrix[InnerNapoleonTriangle, NeubergTriangle[1]]/.Sin[x_]:>TrigExpand[Sin[x]]]),TriangleQ[]]]

persp2=Symmetrize/@ExactTrilinears[Coefficient[persp,#]&/@{α,β,γ}]

Subtract@@{CyclicTrilinears[persp2[[1]]],persp2}/.rules

{#,Map[Factor,#,{1}]}&[(Sqrt[-((((a^4)+((((b^2)-(c^2)))^2)-2 (a^2) ((b^2)+(c^2))))^3)])]

persp3=Factor[persp2/.(Sqrt[-((((a^4)+((((b^2)-(c^2)))^2)-2 (a^2) ((b^2)+(c^2))))^3)]):>(a+b-c) (a-b+c) (-a+b+c) (a+b+c)(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])];

Numerator

n=Numerator[persp3[[1]]]/a

l={ (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])};

coef=Factor/@(Coefficient[n,#]&/@l)

rest=Factor[n-coef.l]

Subtract@@{rest+coef.l,n}//Expand

numer=a(rest+coef.l)

Numerator

d=Denominator[persp3[[1]]]

l={ (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])};

coef=Factor/@(Coefficient[d,#]&/@l)

rest=Factor[d-coef.l]

Subtract@@{rest+coef.l,d}//Expand

denom=rest+coef.l

Both

(numer/denom)

TrilinearToCartesian[t,CyclicTrilinears[(a ((Sqrt[3]) (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)]) ((a^2) (b^2)+(a^2) (c^2)+(b^2) (c^2)) ((a^6)-2 (a^4) (b^2)-5 (a^2) (b^4)-2 (a^4) (c^2)-5 (a^2) (b^2) (c^2)+3 (b^4) (c^2)-5 (a^2) (c^4)+3 (b^2) (c^4))-(a-b-c) (a+b-c) (a-b+c) (a+b+c) ((a^6) (b^2)+7 (a^4) (b^4)+4 (a^2) (b^6)+(a^6) (c^2)+9 (a^4) (b^2) (c^2)+6 (a^2) (b^4) (c^2)-2 (b^6) (c^2)+7 (a^4) (c^4)+6 (a^2) (b^2) (c^4)-5 (b^4) (c^4)+4 (a^2) (c^6)-2 (b^2) (c^6))))/((Sqrt[3]) (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)]) ((a^2) (b^2)+(a^2) (c^2)+(b^2) (c^2)) ((a^8)-2 (a^6) (b^2)-10 (a^4) (b^4)-2 (a^2) (b^6)+(b^8)-2 (a^6) (c^2)+(a^4) (b^2) (c^2)+(a^2) (b^4) (c^2)-2 (b^6) (c^2)-10 (a^4) (c^4)+(a^2) (b^2) (c^4)-10 (b^4) (c^4)-2 (a^2) (c^6)-2 (b^2) (c^6)+(c^8))-(a-b-c) (a+b-c) (a-b+c) (a+b+c) ((a^8) (b^2)+11 (a^6) (b^4)+11 (a^4) (b^6)+(a^2) (b^8)+(a^8) (c^2)+5 (a^6) (b^2) (c^2)+7 (a^4) (b^4) (c^2)+5 (a^2) (b^6) (c^2)+(b^8) (c^2)+11 (a^6) (c^4)+7 (a^4) (b^2) (c^4)+7 (a^2) (b^4) (c^4)+11 (b^6) (c^4)+11 (a^4) (c^6)+5 (a^2) (b^2) (c^6)+11 (b^4) (c^6)+(a^2) (c^8)+(b^2) (c^8)))]]/.rules

TrilinearToCartesian[t,persp2]/.rules

TrilinearToCartesian[t,CyclicTrilinears[expr=(a ((Sqrt[3])  ((a^2) (b^2)+(a^2) (c^2)+(b^2) (c^2)) ((a^6)-2 (a^4) (b^2)-5 (a^2) (b^4)-2 (a^4) (c^2)-5 (a^2) (b^2) (c^2)+3 (b^4) (c^2)-5 (a^2) (c^4)+3 (b^2) (c^4))+(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)]) ((a^6) (b^2)+7 (a^4) (b^4)+4 (a^2) (b^6)+(a^6) (c^2)+9 (a^4) (b^2) (c^2)+6 (a^2) (b^4) (c^2)-2 (b^6) (c^2)+7 (a^4) (c^4)+6 (a^2) (b^2) (c^4)-5 (b^4) (c^4)+4 (a^2) (c^6)-2 (b^2) (c^6))))/((Sqrt[3])  ((a^2) (b^2)+(a^2) (c^2)+(b^2) (c^2)) ((a^8)-2 (a^6) (b^2)-10 (a^4) (b^4)-2 (a^2) (b^6)+(b^8)-2 (a^6) (c^2)+(a^4) (b^2) (c^2)+(a^2) (b^4) (c^2)-2 (b^6) (c^2)-10 (a^4) (c^4)+(a^2) (b^2) (c^4)-10 (b^4) (c^4)-2 (a^2) (c^6)-2 (b^2) (c^6)+(c^8))+(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])((a^8) (b^2)+11 (a^6) (b^4)+11 (a^4) (b^6)+(a^2) (b^8)+(a^8) (c^2)+5 (a^6) (b^2) (c^2)+7 (a^4) (b^4) (c^2)+5 (a^2) (b^6) (c^2)+(b^8) (c^2)+11 (a^6) (c^4)+7 (a^4) (b^2) (c^4)+7 (a^2) (b^4) (c^4)+11 (b^6) (c^4)+11 (a^4) (c^6)+5 (a^2) (b^2) (c^6)+11 (b^4) (c^6)+(a^2) (c^8)+(b^2) (c^8)))]]/.rules

InputForm[expr]

Inner Napoleon triangle and Neuberg reflected triangle

persp=Factor[Simplify[Together//@(ToSidelengths[Perspectrix[InnerNapoleonTriangle, NeubergTriangle[2]]/.Sin[x_]:>TrigExpand[Sin[x]]]),TriangleQ[]]]

persp2=Symmetrize/@ExactTrilinears[Coefficient[persp,#]&/@{α,β,γ}]

Subtract@@{CyclicTrilinears[persp2[[1]]],persp2}/.rules

{#,Map[Factor,#,{1}]}&[(Sqrt[-((((a^4)+((((b^2)-(c^2)))^2)-2 (a^2) ((b^2)+(c^2))))^3)])]

persp3=Factor[persp2/.(Sqrt[-((((a^4)+((((b^2)-(c^2)))^2)-2 (a^2) ((b^2)+(c^2))))^3)]):>(a+b-c) (a-b+c) (-a+b+c) (a+b+c)(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])]

Numerator

n=Numerator[persp3[[1]]]/a

l={ (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])};

coef=Factor/@(Coefficient[n,#]&/@l)

rest=Factor[n-coef.l]

Subtract@@{rest+coef.l,n}//Expand

numer=a(rest+coef.l)

Denominator

d=Denominator[persp3[[1]]]

l={ (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])};

coef=Factor/@(Coefficient[d,#]&/@l)

rest=Factor[d-coef.l]

Subtract@@{rest+coef.l,d}//Expand

denom=rest+coef.l

Both

(numer/denom)

TrilinearToCartesian[t,CyclicTrilinears[%]]/.rules

TrilinearToCartesian[t,persp2]/.rules

TrilinearToCartesian[t,CyclicTrilinears[expr=(a (-(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)]) (2 (a^8)+2 (a^6) (b^2)-5 (a^4) (b^4)-4 (a^2) (b^6)-(b^8)+2 (a^6) (c^2)-7 (a^4) (b^2) (c^2)-7 (a^2) (b^4) (c^2)-(b^6) (c^2)-5 (a^4) (c^4)-7 (a^2) (b^2) (c^4)+(b^4) (c^4)-4 (a^2) (c^6)-(b^2) (c^6)-(c^8))-(Sqrt[3])  (4 (a^8) (b^2)+(a^6) (b^4)-(a^4) (b^6)+(a^2) (b^8)+(b^10)+4 (a^8) (c^2)+5 (a^6) (b^2) (c^2)-3 (a^4) (b^4) (c^2)+2 (a^2) (b^6) (c^2)+2 (b^8) (c^2)+(a^6) (c^4)-3 (a^4) (b^2) (c^4)+5 (a^2) (b^4) (c^4)+6 (b^6) (c^4)-(a^4) (c^6)+2 (a^2) (b^2) (c^6)+6 (b^4) (c^6)+(a^2) (c^8)+2 (b^2) (c^8)+(c^10))))/(-(Sqrt[3])  ((a^2) (b^2)+(a^2) (c^2)+(b^2) (c^2)) (5 (a^8)+2 (a^6) (b^2)-2 (a^4) (b^4)+2 (a^2) (b^6)+5 (b^8)+2 (a^6) (c^2)+5 (a^4) (b^2) (c^2)+5 (a^2) (b^4) (c^2)+2 (b^6) (c^2)-2 (a^4) (c^4)+5 (a^2) (b^2) (c^4)-2 (b^4) (c^4)+2 (a^2) (c^6)+2 (b^2) (c^6)+5 (c^8))-(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])(2 (a^10)+(a^8) (b^2)-9 (a^6) (b^4)-9 (a^4) (b^6)+(a^2) (b^8)+2 (b^10)+(a^8) (c^2)-9 (a^6) (b^2) (c^2)-13 (a^4) (b^4) (c^2)-9 (a^2) (b^6) (c^2)+(b^8) (c^2)-9 (a^6) (c^4)-13 (a^4) (b^2) (c^4)-13 (a^2) (b^4) (c^4)-9 (b^6) (c^4)-9 (a^4) (c^6)-9 (a^2) (b^2) (c^6)-9 (b^4) (c^6)+(a^2) (c^8)+(b^2) (c^8)+2 (c^10)))]]/.rules

InputForm[expr]

perspectrix of LemoineTriangle,TangentialTriangle

persp=Symmetrize/@ExactTrilinears[Perspectrix[LemoineTriangle,TangentialTriangle][[1]]]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

perspectrix of MacBeathTriangle,TangentialTriangle

persp=Symmetrize/@ExactTrilinears[ToSidelengths[Perspectrix[MacBeathTriangle,TangentialTriangle][[1]]]]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

medial triangle and reflected Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[MedialTriangle,NeubergTriangle[2]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

outer Napoleon triangle and Neuberg triangle

persp=Factor[Simplify[Together//@(ToSidelengths[Perspectrix[OuterNapoleonTriangle, NeubergTriangle[1]]/.Sin[x_]:>TrigExpand[Sin[x]]]),TriangleQ[]]]

persp2=Symmetrize/@ExactTrilinears[Coefficient[persp,#]&/@{α,β,γ}]

Subtract@@{CyclicTrilinears[persp2[[1]]],persp2}/.rules

{#,Map[Factor,#,{1}]}&[(Sqrt[-((((a^4)+((((b^2)-(c^2)))^2)-2 (a^2) ((b^2)+(c^2))))^3)])]

persp3=Factor[persp2/.(Sqrt[-((((a^4)+((((b^2)-(c^2)))^2)-2 (a^2) ((b^2)+(c^2))))^3)]):>(a+b-c) (a-b+c) (-a+b+c) (a+b+c)(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])]

Numerator

n=Numerator[persp3[[1]]]/a

l={ (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])};

coef=Factor/@(Coefficient[n,#]&/@l)

rest=Factor[n-coef.l]

Subtract@@{rest+coef.l,n}//Expand

numer=a(rest+coef.l)

Denomionator

d=Denominator[persp3[[1]]]

l={ (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])};

coef=Factor/@(Coefficient[d,#]&/@l)

rest=Factor[d-coef.l]

Subtract@@{rest+coef.l,d}//Expand

denom=rest+coef.l

Both

(numer/denom)

TrilinearToCartesian[t,CyclicTrilinears[%]]/.rules

TrilinearToCartesian[t,persp2]/.rules

TrilinearToCartesian[t,CyclicTrilinears[expr=(a ((Sqrt[3])  ((a^2) (b^2)+(a^2) (c^2)+(b^2) (c^2)) ((a^6)-2 (a^4) (b^2)-5 (a^2) (b^4)-2 (a^4) (c^2)-5 (a^2) (b^2) (c^2)+3 (b^4) (c^2)-5 (a^2) (c^4)+3 (b^2) (c^4))-(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)]) ((a^6) (b^2)+7 (a^4) (b^4)+4 (a^2) (b^6)+(a^6) (c^2)+9 (a^4) (b^2) (c^2)+6 (a^2) (b^4) (c^2)-2 (b^6) (c^2)+7 (a^4) (c^4)+6 (a^2) (b^2) (c^4)-5 (b^4) (c^4)+4 (a^2) (c^6)-2 (b^2) (c^6))))/((Sqrt[3]) (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)]) ((a^2) (b^2)+(a^2) (c^2)+(b^2) (c^2)) ((a^8)-2 (a^6) (b^2)-10 (a^4) (b^4)-2 (a^2) (b^6)+(b^8)-2 (a^6) (c^2)+(a^4) (b^2) (c^2)+(a^2) (b^4) (c^2)-2 (b^6) (c^2)-10 (a^4) (c^4)+(a^2) (b^2) (c^4)-10 (b^4) (c^4)-2 (a^2) (c^6)-2 (b^2) (c^6)+(c^8))-(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])((a^8) (b^2)+11 (a^6) (b^4)+11 (a^4) (b^6)+(a^2) (b^8)+(a^8) (c^2)+5 (a^6) (b^2) (c^2)+7 (a^4) (b^4) (c^2)+5 (a^2) (b^6) (c^2)+(b^8) (c^2)+11 (a^6) (c^4)+7 (a^4) (b^2) (c^4)+7 (a^2) (b^4) (c^4)+11 (b^6) (c^4)+11 (a^4) (c^6)+5 (a^2) (b^2) (c^6)+11 (b^4) (c^6)+(a^2) (c^8)+(b^2) (c^8)))]]/.rules

InputForm[expr]

outer Napoleon triangle and reflected Neuberg triangle

persp=Factor[Simplify[Together//@(ToSidelengths[Perspectrix[OuterNapoleonTriangle, NeubergTriangle[2]]/.Sin[x_]:>TrigExpand[Sin[x]]]),TriangleQ[]]]

persp2=Symmetrize/@ExactTrilinears[Coefficient[persp,#]&/@{α,β,γ}]

Subtract@@{CyclicTrilinears[persp2[[1]]],persp2}/.rules

{#,Map[Factor,#,{1}]}&[(Sqrt[-((((a^4)+((((b^2)-(c^2)))^2)-2 (a^2) ((b^2)+(c^2))))^3)])]

persp3=Factor[persp2/.(Sqrt[-((((a^4)+((((b^2)-(c^2)))^2)-2 (a^2) ((b^2)+(c^2))))^3)]):>(a+b-c) (a-b+c) (-a+b+c) (a+b+c)(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])]

Numerator

n=Numerator[persp3[[1]]]/a

l={ (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])};

coef=Factor/@(Coefficient[n,#]&/@l)

rest=Factor[n-coef.l]

Subtract@@{rest+coef.l,n}//Expand

numer=a(rest+coef.l)

Denominator

d=Denominator[persp3[[1]]]

l={ (Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])};

coef=Factor/@(Coefficient[d,#]&/@l)

rest=Factor[d-coef.l]

Subtract@@{rest+coef.l,d}//Expand

denom=rest+coef.l

Both

(numer/denom)

TrilinearToCartesian[t,CyclicTrilinears[%]]/.rules

TrilinearToCartesian[t,persp2]/.rules

TrilinearToCartesian[t,CyclicTrilinears[expr=(a (-(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)]) (2 (a^8)+2 (a^6) (b^2)-5 (a^4) (b^4)-4 (a^2) (b^6)-(b^8)+2 (a^6) (c^2)-7 (a^4) (b^2) (c^2)-7 (a^2) (b^4) (c^2)-(b^6) (c^2)-5 (a^4) (c^4)-7 (a^2) (b^2) (c^4)+(b^4) (c^4)-4 (a^2) (c^6)-(b^2) (c^6)-(c^8))+(Sqrt[3])  (4 (a^8) (b^2)+(a^6) (b^4)-(a^4) (b^6)+(a^2) (b^8)+(b^10)+4 (a^8) (c^2)+5 (a^6) (b^2) (c^2)-3 (a^4) (b^4) (c^2)+2 (a^2) (b^6) (c^2)+2 (b^8) (c^2)+(a^6) (c^4)-3 (a^4) (b^2) (c^4)+5 (a^2) (b^4) (c^4)+6 (b^6) (c^4)-(a^4) (c^6)+2 (a^2) (b^2) (c^6)+6 (b^4) (c^6)+(a^2) (c^8)+2 (b^2) (c^8)+(c^10))))/((Sqrt[3])  ((a^2) (b^2)+(a^2) (c^2)+(b^2) (c^2)) (5 (a^8)+2 (a^6) (b^2)-2 (a^4) (b^4)+2 (a^2) (b^6)+5 (b^8)+2 (a^6) (c^2)+5 (a^4) (b^2) (c^2)+5 (a^2) (b^4) (c^2)+2 (b^6) (c^2)-2 (a^4) (c^4)+5 (a^2) (b^2) (c^4)-2 (b^4) (c^4)+2 (a^2) (c^6)+2 (b^2) (c^6)+5 (c^8))-(Sqrt[(a+b-c) (a-b+c) (-a+b+c) (a+b+c)])(2 (a^10)+(a^8) (b^2)-9 (a^6) (b^4)-9 (a^4) (b^6)+(a^2) (b^8)+2 (b^10)+(a^8) (c^2)-9 (a^6) (b^2) (c^2)-13 (a^4) (b^4) (c^2)-9 (a^2) (b^6) (c^2)+(b^8) (c^2)-9 (a^6) (c^4)-13 (a^4) (b^2) (c^4)-13 (a^2) (b^4) (c^4)-9 (b^6) (c^4)-9 (a^4) (c^6)-9 (a^2) (b^2) (c^6)-9 (b^4) (c^6)+(a^2) (c^8)+(b^2) (c^8)+2 (c^10)))]]/.rules

InputForm[expr]

reference triangle and reflected Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[ReferenceTriangle, NeubergTriangle[2]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

tangential triangle and Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[TangentialTriangle,NeubergTriangle[1]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

tangential triangle and reflected Neuberg triangle

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[TangentialTriangle, NeubergTriangle[2]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

perspectrix of TangentialTriangle,YffTriangle

persp=Symmetrize/@ExactTrilinears[Perspectrix[TangentialTriangle,YffTriangle][[1]]]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]

Neuberg and reflected Neuberg triangles

persp=Symmetrize/@ExactTrilinears[Coefficient[Perspectrix[NeubergTriangle[1], NeubergTriangle[2]],#]&/@{α,β,γ}]

Simplify[Subtract@@{CyclicTrilinears[persp[[1]]],persp}]

InputForm[persp[[1]]]