Triangle Centroid

Author

Eric W. Weisstein
February 16, 2008

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

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

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

Definition

t=Triangle[{{0.7,0.71},{0,0},{1.2,0}}];
Graphics[{
t,
{Red,Medians[t]},
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}],
Append[#,Red]&/@Transpose[{Midpoints[t],{"(Subscript[M, A])","(Subscript[M, B])","(Subscript[M, C])"}}],
{{Centroid[t],"G",Blue}}
],PointSize[.025],LabelOffset->.04]
}]

Distances

GCl

FullSimplify[ToSidelengths[Distance[Centroid,ClawsonPoint]^2],TriangleQ[]]

Factor[%]

ToAngles[%]

GF

FullSimplify[Together//@ToSidelengths[Distance[Centroid,FeuerbachPoint]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]

ToAngles[%]

GI

FullSimplify[ToSidelengths[Distance[Centroid,Incenter]^2],TriangleQ[]]

Factor[%]

ToAngles[%]

GGe

ToAngles[Factor[Distance[Centroid,GergonnePoint]^2]]

ToAngles[%]

GH

Factor[FullSimplify[ToSidelengths[Distance[Centroid,Orthocenter]],TriangleQ]^2]

ToAngles[%]

GK

Factor//@FullSimplify[Factor[FullSimplify[ToSidelengths[Distance[Centroid,SymmedianPoint]],TriangleQ[]]^2],TriangleQ[]]

ToAngles[%]

GL

FullSimplify[ToSidelengths[Distance[Centroid,DeLongchampsPoint]^2],TriangleQ[]]

Factor[%]

ToAngles[%]

GM

Factor[Together//@ToSidelengths[Distance[Centroid,Mittenpunkt]^2]]

ToAngles[%]

GNa

Factor[Together//@ToSidelengths[Distance[Centroid,NagelPoint]^2]]

ToAngles[%]

GN

Factor[Simplify[ToSidelengths[Distance[Centroid,NinePointCenter]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]]

ToAngles[%]

GO

Factor[FullSimplify[ToSidelengths[Distance[Centroid,Circumcenter]],TriangleQ]^2]

ToAngles[%]

GSp

Factor[Together//@ToSidelengths[Distance[Centroid,SpiekerCenter]^2]]

ToAngles[%]

Of Arbitrary Triangle

Centroid[Triangle[{{p1,q1,r1},{p2,q2,r2},{p3,q3,r3}}]]

Simplify[%]

t=RandomTriangle[20];

rules=Join[Thread[{a,b,c}->SideLengths[Evaluate[t]]],Thread[{A,B,C}->Angles[Evaluate[t]]]];
kc=KimberlingCenters;

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

trips=Triangles;

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

Not in Kimberling

#[[2]]&/@Cases[l,_?(#[[-1,-1]]=={}&)]

Table

{Name[#[[2]]],#[[-1,-1,1]],Name[#[[-1,-1,1]]]}&/@DeleteCases[Sort[l,(OrderedQ[{Name[#1[[2]]],Name[#2[[2]]]}]&)],_?(#[[-1,-1]]=={}&)]//TableForm

Relation

Factor[Plus@@(Distance[#,Trilinears[Centroid]]^2&/@IdentityMatrix[3])]

2/3 of the way from each Vertex to the Opposite Midpoint

tri=Triangle[{{0.7,0.71},{0,0},{1.2,-.05}}];

v=Vertices[tri]

m=Coordinates/@Midpoints[tri]

g=Coordinates@Centroid[tri]

Sqrt[(#1-g).(#1-g)]/Sqrt[(#1-#2).(#1-#2)]&@@@Transpose[{v,m}]

Cevian Side Ratios

t=Triangle[{{0,0},{1,0},{.4,.7}}];
cv=CeviansSideRatios[t,.3][[1]];
pt=Triangle[Coordinates/@EndPoint/@cv];
m=BeginPoint/@Medians[t];
mp=BeginPoint/@Medians[pt];

Show[Graphics[{
{Blue,cv},
{Red,pt,Medians[pt]},
{Thickness[.007],t},
{Green,Medians[t]},
PointLabels[Join[
{{Centroid[t],"G",Green}},
Append[#,Red]&/@Transpose[{mp,Subscript["Q",#]&/@Range[3]}],
Append[#,Green]&/@Transpose[{m,Subscript["B",#]&/@Range[3]}],
Transpose[{VertexPoints[t],Subscript["A",#]&/@Range[3]}],
Append[#,Blue]&/@Transpose[{VertexPoints[pt],Subscript["P",#]&/@Range[3]}]
],LabelOffset->.03,PointSize[.025]]
},AspectRatio->Automatic]]

{Centroid[t],Centroid[pt]}

Circles through pairs of vertices and M

t=Triangle[{{0.75,0.65},{0,0},{1.2,-.05}}];
v=VertexPoints[t];
g=Coordinates@Centroid[t];
m=Midpoints[t];
pqrcirc=Circumcircle/@(Triangle[Append[#,g]]&/@Partition[Vertices[t],2,1,1]);
pqr=Coordinates/@Center/@pqrcirc;
pts={
{Centroid[t],"G"},
{Circumcenter[t],"O"},
Sequence@@Transpose[{m,Subscript["M",#]&/@{"A","B","C"}}]
};
ptsred=Transpose[{RotateLeft[Point/@pqr],Superscript[#,"′"]&/@{"A","B","C"}}];
ptsblue=Transpose[{VertexPoints[t],{"A","B","C"}}];

Graphics[{
{pqrcirc},
{Red,Circumcircle[t],Medians[t],Thickness[.01],t},
{Blue,Medians[Triangle[pqr]],Thickness[.01],Triangle[pqr]},
PointLabels[Join[
pts,
Append[#,Red]&/@ptsblue,
Append[#,Blue]&/@ptsred
],LabelOffset->.04]
},AspectRatio->Automatic,PlotRange->{{-.4,1.5},{-.8,.9}}]