30–60–90 Triangle

Author

Eric W. Weisstein
July 22, 2014

This notebook downloaded from http://mathworld.wolfram.com/notebooks/PlaneGeometry/30-60-90Triangle.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/30-60-90Triangle.html.

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

Definitions

reg=Triangle[{{0,0},{1/2,0},{0,Sqrt[3]/2}}a];

ineq=y≥0&&(Sqrt[3]) a≥2 ((Sqrt[3]) x+y)&&x≥0;

assum=a>0;

t=Triangle[{{0,0},{𝒶/2,0},{0,𝒶 Sqrt[3]/2}}]

abc=Simplify[SideLengths[Evaluate[t]],𝒶>0]

Plots

Diagram

LaminaData["Filled306090Triangle","Diagram"]

DiscretizeRegion

Block[{a=1},Show[DiscretizeRegion[reg],ImageSize->Small]]

RegionPlot

Block[{a=1},RegionPlot[ineq,{x,0,a/2},{y,0,a},AspectRatio->Automatic,ImageSize->Small,Frame->False]]

Diagram

V6

t={{0,0},{1/2,0},{0,Sqrt[3]/2}};
Graphics[{
Triangle[t],
PerpSquare[Line[{{0,0},#}]&/@{{1/2,0},{0,Sqrt[3]/2}},.05,3],
VertexArc[t,.08],
EqualAngleTicks[t,2,.08,.02,.2],
VertexArc[RotateLeft[t],.08],
EqualAngleTicks[RotateLeft[t],1,.08,.02,.2]
},ImagePadding->20]

t={{0,0},{1/2,0},{0,Sqrt[3]/2}};
Graphics[{
Triangle[t],
PerpSquare[Line[{{0,0},#}]&/@{{1/2,0},{0,Sqrt[3]/2}},.05,3],
VertexArc[t,.08],
EqualAngleTicks[t,2,.08,.02,.2],
VertexArc[RotateLeft[t],.08],
EqualAngleTicks[RotateLeft[t],1,.08,.02,.2],
Text[Style["30°",FontSize->Scaled[.09]],{.045,.7},Background->White],
Text[Style["60°",FontSize->Scaled[.09]],{.385,.065},Background->White],
Text[Style["A",Italic,FontSize->Scaled[.09]],{-.015,-.03}],
Text[Style["B",Italic,FontSize->Scaled[.09]],{.51,-.03}],
Text[Style["C",Italic,FontSize->Scaled[.09]],{0,.9}],
Text[Style[Row[{Rational[1,2]," ",a}],FontSize->Scaled[.07]]//TraditionalForm,{.22,-.07}],
Text[Style[Row[{1/2,(Sqrt[3]),a}],FontSize->Scaled[.07]]//TraditionalForm,{-.1,.4}]
}]

t={{0,0},{1/2,0},{0,Sqrt[3]/2}};
g=Graphics[{
Triangle[t],
PerpSquare[Line[{{0,0},#}]&/@{{1/2,0},{0,Sqrt[3]/2}},.05,3],
VertexArc[t,.08],
EqualAngleTicks[t,2,.08,.02,.2],
VertexArc[RotateLeft[t],.08],
EqualAngleTicks[RotateLeft[t],1,.08,.02,.2],
Text[Style["30°"],{.045,.7},Background->White],
Text[Style["60°"],{.385,.065},Background->White],
Text[Style["A",Italic],{-.015,-.03}],
Text[Style["B",Italic],{.51,-.03}],
Text[Style["C",Italic],{0,.9}],
Text[Style[Row[{Rational[1,2]," ",Style["a",Italic]}]],{.22,-.07}],
Text[Style[Row[{1/2,(Sqrt[3]),Style["a",Italic]}]],{-.1,.4}]
}]

Show[g,ImageSize->{Automatic,90},BaseStyle->8]

Show[g,BaseStyle->18]

Side Lengths

a Sin[#Degree]&/@{30,60,90}

Inradius

FullSimplify[PowerExpand[Inradius[tri]]]

t={{0,0},{1/2,0},{0,Sqrt[3]/2}};
r=Triangle[t];
v=t;
i=Incenter[r];

pts={v[[1]],C,v[[2]],A,v[[3]],B};
bluepts={i,"\!\(\*
StyleBox[\"I\",\nFontSlant->\"Italic\"]\)"};

Show[Graphics[{
Triangle[t],
PerpSquare[Line[{{0,0},#}]&/@{{1/2,0},{0,Sqrt[3]/2}},.04,3],
{Thickness[.01],Incircle[r]},
{
Red,
PerpSquare[#,.04,2]&/@Transpose[{PedalLines[r,i],Sides[r]}],Dashing[{.02,.02}],
PedalLines[r,i]
},
{
Blue,
VertexArc[t,.08],
VertexArc[RotateLeft[t],.08],
EqualAngleTicksAboutBisectors[RotateLeft[t],1,.08,.02,.2],
EqualAngleTicksAboutBisectors[t,2,.08,.02,.2],
PointLabels[r,bluepts,.06,.05],Line[{#[[1]],Coordinates@i,#[[2]]}]&/@Partition[Vertices[r],2,1,1]
},
PointLabels[r,pts,.06,-.05]
}],AspectRatio->Automatic]

Circumradius

FullSimplify[PowerExpand[Circumradius[tri]]]

t={{0,0},{1/2,0},{0,Sqrt[3]/2}};
r=Triangle[t];
v=Vertices[r];
c=Circumcenter[r];
bluepts={c,O};
pts={v[[1]],C,v[[2]],A,v[[3]],B};

Show[Graphics[{
r,
VertexArc[t,.08],
EqualAngleTicks[t,2,.08,.02,.2],
VertexArc[RotateLeft[t],.08],
EqualAngleTicks[RotateLeft[t],1,.08,.02,.2],
{
Blue,
PointLabels[r,bluepts,.03,.05],
Circumcircle[r],
Line[{Coordinates@c,Vertices[r][[1]]}]
},
PointLabels[r,pts,.03,-.05],
PerpSquare[Line[{{0,0},#}]&/@{{1/2,0},{0,Sqrt[3]/2}},.04,3]
},AspectRatio->Automatic]
]

Properties

Area

TriangleArea

TriangleArea[tri]

Integrate

Assuming[a>0,Area[ineq[x,y],{x,y}]]

RegionMeasure

Assuming[assum,Simplify@RegionMeasure[reg]]

Centroid

Integrate

Assuming[a>0,Centroid[ineq[x,y],{x,y}]]

RegionCentroid

Assuming[assum,Simplify@RegionCentroid[reg]]

Circumcircle

FullSimplify[Circumcircle[t],𝒶>0]/.𝒶->a

Incircle

FullSimplify[Incircle[t],𝒶>0]/.𝒶->a

Inequalities

RegularPolygon[3,a/2Csc[π/3],π/2]

FullSimplify[Inequalities[Polygon[{{0,0},{a/2,0},{0,(Sqrt[3])/2a}}],{x,y}],a>0]

FullSimplify[Inequalities[%18,{x,y}],a>0]/.Greater->GreaterEqual

ineq[x_,y_]:=y≥0&&(Sqrt[3]) a≥2 ((Sqrt[3]) x+y)&&x≥0

Block[{a=1},RegionPlot[ineq[x,y],{x,0,a/2},{y,0,(Sqrt[3])/2a},AspectRatio->Automatic]]

Perimeter

Simplify[Through[{MinValue,MaxValue}[{x,ineq[x,y]},{x,y}]],a>0]

Simplify[Through[{MinValue,MaxValue}[{y,ineq[x,y]},{x,y}]],a>0]

FullSimplify[a+a/2+(1/2)(Sqrt[3])a]

InertiaTensor

Assuming[a>0,AreaInertiaTensor[ineq[x,y],{x,y}]]

RadiiOfGyration

Assuming[a>0,FullSimplify[RadiiOfGyration[ineq[x,y],{x,y}]]]

GeneralizedDiameter

ineqs=And@@ineq@@@{{x1,y1},{x2,y2}}/.a->1

Maximize[{(x1-x2)^2+(y1-y2)^2,ineqs},{x1,x2,y1,y2},Reals]//Timing

Length Distribution

Monte Carlo

ineq[x,y]/.a->1

f[x_,y_]:=y≥0&&(Sqrt[3])≥2 ((Sqrt[3]) x+y)&&x≥0

minx=0;
maxx=1/2;
miny=0;
maxy=Sqrt[3]/2;

Length[pts=Select[Table[{RandomReal[{minx,maxx}],RandomReal[{miny,maxy}]},{10^6},{2}],And@@f@@@#&]]//Timing

((((((1/8)(Sqrt[3]))/((maxx-minx)(maxy-miny)))))^2)//N

Through[{Min,Mean,Max}[ds=Norm/@(Subtract@@@pts)]]

Histogram[ds]

Mean Line Picking Length

in=And@@ineq@@@{{x1,y1},{x2,y2}}/.a->1

in=y1≥0&&(Sqrt[3])≥2 ((Sqrt[3]) x1+y1)&&x1≥0&&y2≥0&&(Sqrt[3])≥2 ((Sqrt[3]) x2+y2)&&x2≥0;

Numerical

((((8/(Sqrt[3]))))^2)NIntegrate[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{x1,0,1/2},{x2,0,1/2},{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2}]//Chop

((((8/(Sqrt[3]))))^2)NIntegrate[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{x1,0,1/2},{x2,0,1/2},{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2},Method->"QuasiMonteCarlo",MaxPoints->10^6]

V7 attempt 1: x1, x2, y1|y2 [fails]

IntegrateWithAssumptions[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{x1,0,1/2},{x2,0,1/2},{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2},Simplification->Simplify]//Timing

...crash...

i=Integrate[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{x1,0,1/2},Assumptions->0<x2<1/2&&0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2]

i = Piecewise[{{(1/24)*(3 - 12*x2 + 24*x2^2 - 4*Sqrt[3]*y2 + 8*Sqrt[3]*x2*y2 + 4*y2^2), y1 - y2 == 0 && 0 < x2 < 1/2 && 
      0 < y1 < Sqrt[3]/2 && y2 > 0 && Sqrt[3]*x2 + y1 < Sqrt[3]/2 && Sqrt[3]*x2 + y2 <= Sqrt[3]/2}, 
    {(1/24)*(12*x2*Sqrt[x2^2 + y1^2 - 2*y1*y2 + y2^2] + Sqrt[3]*Sqrt[3 - 12*x2 + 12*x2^2 - 4*Sqrt[3]*y1 + 8*Sqrt[3]*x2*y1 + 16*y1^2 - 
          24*y1*y2 + 12*y2^2] - 2*Sqrt[3]*x2*Sqrt[3 - 12*x2 + 12*x2^2 - 4*Sqrt[3]*y1 + 8*Sqrt[3]*x2*y1 + 16*y1^2 - 24*y1*y2 + 12*y2^2] - 
       2*y1*Sqrt[3 - 12*x2 + 12*x2^2 - 4*Sqrt[3]*y1 + 8*Sqrt[3]*x2*y1 + 16*y1^2 - 24*y1*y2 + 12*y2^2] - 12*y1^2*Log[2] + 24*y1*y2*Log[2] - 
       12*y2^2*Log[2] - 12*y1^2*Log[3] + 24*y1*y2*Log[3] - 12*y2^2*Log[3] - 12*y1^2*Log[-x2 + Sqrt[x2^2 + (y1 - y2)^2]] + 
       24*y1*y2*Log[-x2 + Sqrt[x2^2 + (y1 - y2)^2]] - 12*y2^2*Log[-x2 + Sqrt[x2^2 + (y1 - y2)^2]] + 
       12*y1^2*Log[3 - 6*x2 - 2*Sqrt[3]*y1 + Sqrt[3]*Sqrt[3 + 12*x2^2 + 16*y1^2 + 4*x2*(-3 + 2*Sqrt[3]*y1) + 12*y2^2 - 
             4*y1*(Sqrt[3] + 6*y2)]] - 24*y1*y2*Log[3 - 6*x2 - 2*Sqrt[3]*y1 + 
          Sqrt[3]*Sqrt[3 + 12*x2^2 + 16*y1^2 + 4*x2*(-3 + 2*Sqrt[3]*y1) + 12*y2^2 - 4*y1*(Sqrt[3] + 6*y2)]] + 
       12*y2^2*Log[3 - 6*x2 - 2*Sqrt[3]*y1 + Sqrt[3]*Sqrt[3 + 12*x2^2 + 16*y1^2 + 4*x2*(-3 + 2*Sqrt[3]*y1) + 12*y2^2 - 
             4*y1*(Sqrt[3] + 6*y2)]]), (0 < x2 < 1/2 && 0 < y1 < Sqrt[3]/2 && Sqrt[3]*x2 + y1 >= Sqrt[3]/2 && y2 > 0 && 
       Sqrt[3]*x2 + y2 <= Sqrt[3]/2) || (0 < x2 < 1/2 && 0 < y1 < Sqrt[3]/2 && y2 > 0 && Sqrt[3]*x2 + y2 <= Sqrt[3]/2 && y1 - y2 > 0) || 
      (0 < x2 < 1/2 && 0 < y1 < Sqrt[3]/2 && y2 > 0 && Sqrt[3]*x2 + y2 <= Sqrt[3]/2 && y1 - y2 < 0)}, {0, True}}];

((((8/(Sqrt[3]))))^2)NIntegrate[i,{x2,0,1/2},{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2}]

(i2=Integrate[i,{x2,0,1/2},Assumptions->0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2])//Timing

i3=Simplify[i2,y1≠y2&&0<y2<(Sqrt[3])/2&&0<y1<(Sqrt[3])/2]

Plot3D[i2,{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2}]

((((8/(Sqrt[3]))))^2)NIntegrate[i2,{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2},Method->"QuasiMonteCarlo"]

i3=Simplify[i2,0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2]

i3=Piecewise[{{(-(1/648))*(-3 + 2*Sqrt[3]*y2)^3, y1 == y2}, 
   {(1/432)*(144*y1^3 + 80*Sqrt[3]*y1^3 - 432*y1^2*y2 - 240*Sqrt[3]*y1^2*y2 + 432*y1*y2^2 + 240*Sqrt[3]*y1*y2^2 - 144*y2^3 - 
      80*Sqrt[3]*y2^3 + (9*Sqrt[3 + 12*y1^2 - 4*Sqrt[3]*y2 - 24*y1*y2 + 16*y2^2])/(Sqrt[3] - 2*y2) + 
      (36*y1^2*Sqrt[3 + 12*y1^2 - 4*Sqrt[3]*y2 - 24*y1*y2 + 16*y2^2])/(Sqrt[3] - 2*y2) - 
      (72*y1*y2*Sqrt[3 + 12*y1^2 - 4*Sqrt[3]*y2 - 24*y1*y2 + 16*y2^2])/(Sqrt[3] - 2*y2) + 
      (72*y2^2*Sqrt[3 + 12*y1^2 - 4*Sqrt[3]*y2 - 24*y1*y2 + 16*y2^2])/(Sqrt[3] - 2*y2) - 
      36*y1^2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2] + 72*y1*y2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2] - 
      (18*y2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2])/(Sqrt[3] - 2*y2) - 
      (24*y1^2*y2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2])/(Sqrt[3] - 2*y2) - 
      36*y2^2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2] + (48*y1*y2^2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2])/
       (Sqrt[3] - 2*y2) - (32*y2^3*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2])/(Sqrt[3] - 2*y2) + 
      3*Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)] - 20*y1^2*Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)] + 
      48*y1*y2*Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)] - 24*y2^2*Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)] - 
      12*y1*Sqrt[3 + 16*y1^2 + 12*y2^2 - 4*y1*(Sqrt[3] + 6*y2)] - 108*y1^2*Log[2] + 324*y1*y2*Log[2] - 108*y2^2*Log[2] - 
      144*Sqrt[3]*y1*y2^2*Log[2] + 72*Sqrt[3]*y2^3*Log[2] - 108*y1^2*Log[3] - 36*Sqrt[3]*y1^3*Log[3] + 216*y1*y2*Log[3] + 
      108*Sqrt[3]*y1^2*y2*Log[3] - 108*y2^2*Log[3] - 108*Sqrt[3]*y1*y2^2*Log[3] + 36*Sqrt[3]*y2^3*Log[3] - 36*Sqrt[3]*y1^3*Log[4] - 
      54*y1*y2*Log[4] + 108*Sqrt[3]*y1^2*y2*Log[4] - 36*Sqrt[3]*y1*y2^2*Log[4] + 108*y1^2*Log[6] - 216*y1*y2*Log[6] + 108*y2^2*Log[6] - 
      36*Sqrt[3]*y1^2*y2*Log[36] + 72*Sqrt[3]*y1*y2^2*Log[36] - 36*Sqrt[3]*y2^3*Log[36] + 36*y1^2*Log[216] - 72*y1*y2*Log[216] + 
      36*y2^2*Log[216] - 36*(y1 - y2)^2*(-3 + 2*Sqrt[3]*y2)*Log[2*(y1 - y2)] - 36*(-3 + 2*Sqrt[3]*y1)*(y1 - y2)^2*Log[3*(y1 - y2)] - 
      108*y1^2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] + 
      216*y1*y2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] + 
      72*Sqrt[3]*y1^2*y2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] - 
      108*y2^2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] - 
      144*Sqrt[3]*y1*y2^2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] + 
      72*Sqrt[3]*y2^3*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] - 
      108*y1^2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] + 
      72*Sqrt[3]*y1^3*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] + 
      216*y1*y2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] - 
      144*Sqrt[3]*y1^2*y2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] - 
      108*y2^2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] + 
      72*Sqrt[3]*y1*y2^2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]]), y1 > y2}}, 
  (1/432)*(-144*y1^3 - 80*Sqrt[3]*y1^3 + 432*y1^2*y2 + 240*Sqrt[3]*y1^2*y2 - 432*y1*y2^2 - 240*Sqrt[3]*y1*y2^2 + 144*y2^3 + 
    80*Sqrt[3]*y2^3 + (9*Sqrt[3 + 12*y1^2 - 4*Sqrt[3]*y2 - 24*y1*y2 + 16*y2^2])/(Sqrt[3] - 2*y2) + 
    (36*y1^2*Sqrt[3 + 12*y1^2 - 4*Sqrt[3]*y2 - 24*y1*y2 + 16*y2^2])/(Sqrt[3] - 2*y2) - 
    (72*y1*y2*Sqrt[3 + 12*y1^2 - 4*Sqrt[3]*y2 - 24*y1*y2 + 16*y2^2])/(Sqrt[3] - 2*y2) + 
    (72*y2^2*Sqrt[3 + 12*y1^2 - 4*Sqrt[3]*y2 - 24*y1*y2 + 16*y2^2])/(Sqrt[3] - 2*y2) - 
    36*y1^2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2] + 72*y1*y2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2] - 
    (18*y2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2])/(Sqrt[3] - 2*y2) - 
    (24*y1^2*y2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2])/(Sqrt[3] - 2*y2) - 
    36*y2^2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2] + (48*y1*y2^2*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2])/
     (Sqrt[3] - 2*y2) - (32*y2^3*Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2])/(Sqrt[3] - 2*y2) + 
    3*Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)] - 20*y1^2*Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)] + 
    48*y1*y2*Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)] - 24*y2^2*Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)] - 
    12*y1*Sqrt[3 + 16*y1^2 + 12*y2^2 - 4*y1*(Sqrt[3] + 6*y2)] - 108*y1^2*Log[2] + 324*y1*y2*Log[2] - 108*y2^2*Log[2] - 
    144*Sqrt[3]*y1*y2^2*Log[2] + 72*Sqrt[3]*y2^3*Log[2] - 108*y1^2*Log[3] - 36*Sqrt[3]*y1^3*Log[3] + 216*y1*y2*Log[3] + 
    108*Sqrt[3]*y1^2*y2*Log[3] - 108*y2^2*Log[3] - 108*Sqrt[3]*y1*y2^2*Log[3] + 36*Sqrt[3]*y2^3*Log[3] - 36*Sqrt[3]*y1^3*Log[4] - 
    54*y1*y2*Log[4] + 108*Sqrt[3]*y1^2*y2*Log[4] - 36*Sqrt[3]*y1*y2^2*Log[4] + 108*y1^2*Log[6] - 216*y1*y2*Log[6] + 108*y2^2*Log[6] - 
    36*Sqrt[3]*y1^2*y2*Log[36] + 72*Sqrt[3]*y1*y2^2*Log[36] - 36*Sqrt[3]*y2^3*Log[36] + 36*y1^2*Log[216] - 72*y1*y2*Log[216] + 
    36*y2^2*Log[216] - 36*(-3 + 2*Sqrt[3]*y1)*(y1 - y2)^2*Log[-y1 + y2] - 36*(y1 - y2)^2*(-3 + 2*Sqrt[3]*y2)*Log[-6*y1 + 6*y2] - 
    108*y1^2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] + 
    216*y1*y2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] + 
    72*Sqrt[3]*y1^2*y2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] - 
    108*y2^2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] - 
    144*Sqrt[3]*y1*y2^2*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] + 
    72*Sqrt[3]*y2^3*Log[-3 + 2*Sqrt[3]*y2 + Sqrt[9 + 36*y1^2 - 12*Sqrt[3]*y2 - 72*y1*y2 + 48*y2^2]] - 
    108*y1^2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] + 
    72*Sqrt[3]*y1^3*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] + 
    216*y1*y2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] - 
    144*Sqrt[3]*y1^2*y2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] - 
    108*y2^2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]] + 
    72*Sqrt[3]*y1*y2^2*Log[-3 + 2*Sqrt[3]*y1 + Sqrt[9 + 48*y1^2 + 36*y2^2 - 12*y1*(Sqrt[3] + 6*y2)]])];

Integrate[i3,{y1,0,(Sqrt[3])/2},Assumptions->0<y2<(Sqrt[3])/2]//Timing

...unevaluated...

FullSimplify[i3,0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2]//Timing

...hangs...

Integrate[i3,y1]//Timing

...unevaluated...

(i4=Integrate[i3,y2])//Timing

..unevaluated...

V7 attempt 2: y1, y2, x1, x2 [works]

(i=Integrate[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{y1,0,(Sqrt[3])/2},Assumptions->0<x1<1/2&&0<x2<1/2&&0<y1<(Sqrt[3])/2])//Timing

((((8/(Sqrt[3]))))^2)NIntegrate[i,{x1,0,1/2},{x2,0,1/2},{y2,0,(Sqrt[3])/2}]

(i2=Integrate[i,{y2,0,(Sqrt[3])/2},Assumptions ->0<x1<1/2&&0<x2<1/2])//Timing

((((8/(Sqrt[3]))))^2)NIntegrate[i2,{x1,0,1/2},{x2,0,1/2}]

(i3=Integrate[i2,{x1,0,1/2},Assumptions->0<x2<1/2])//Timing

((((8/(Sqrt[3]))))^2)NIntegrate[i3,{x2,0,1/2}]

(i4=Integrate[i3,{x2,0,1/2}])//Timing

N[((((8/(Sqrt[3]))))^2)i4]

res=FullSimplify[((((8/(Sqrt[3]))))^2)i4]

res=%22;

res/.Join[
Table[Log[Expand[(((2-(Sqrt[3])))^n)]]->n Log[2-(Sqrt[3])],{n,10}],
Table[Log[Expand[(((2+(Sqrt[3])))^n)]]->n Log[2+(Sqrt[3])],{n,10}]
]//FullSimplify

N[%44]

Table[Expand[(((2+(Sqrt[3])))^n)],{n,10}]

Table[Expand[(((2-(Sqrt[3])))^n)],{n,10}]

Position[Table[Expand[(((a+b(Sqrt[3])))^n)],{n,25},{a,50},{b,50}],121635+70226 (Sqrt[3])]

(1/6635520)((2626427+737280 (Sqrt[3])) Log[3]+2 (470016+82944 (Sqrt[3])+360 (983+3584 (Sqrt[3])) Log[2-(Sqrt[3])]+9 (164523+65536 (Sqrt[3])) Log[2+(Sqrt[3])]-72 (8149+10240 (Sqrt[3])) Log[-3+2 (Sqrt[3])]-1665747 Log[3+2 (Sqrt[3])]-704 Log[121635+70226 (Sqrt[3])]))

V7 IntegrateWithAssumptions

((((8/(Sqrt[3]))))^2)IntegrateWithAssumptions[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2},{x1,0,1/2},{x2,0,1/2}]//FullSimplify//Timing

...ran overnight...

((((8/(Sqrt[3]))))^2)IntegrateWithAssumptions[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2},{x1,0,1/2},{x2,0,1/2},Simplification->Simplify]//FullSimplify//Timing

V8

$Version

i1=FullSimplify[Integrate[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],x1],0<x1<1/2&&0<x2<1/2&&0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2]

ii1=FullSimplify[Limit[i1,x1->1/2]-Limit[i1,x1->0],0<x2<1/2&&0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2]

...wrong...

((((8/(Sqrt[3]))))^2)NIntegrate[Piecewise[{{(1/2)*(x2*Sqrt[x2^2 + (y1 - y2)^2] - (y1 - y2)^2*Log[-x2 + Sqrt[x2^2 + (y1 - y2)^2]]), 2*(Sqrt[3]*x2 + y2) <= Sqrt[3]}}, 0],{x2,0,1/2},{y1,0,(Sqrt[3])/2},{y2,0,(Sqrt[3])/2}]

i1=FullSimplify[Integrate[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{x1,0,1/2},Assumptions->0<x2<1/2&&0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2],0<x2<1/2&&0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2]

$Version

(i1=Integrate[Sqrt[(x1-x2)^2+(y1-y2)^2]Boole[in],{x1,0,1/2},Assumptions->0<x2<1/2&&0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2])//Timing

ByteCount[i1]

FullSimplify[i1,0<x2<1/2&&0<y1<(Sqrt[3])/2&&0<y2<(Sqrt[3])/2&&y1≠y2]

Simplify

With help from Michael Trott and Adam Strzebonski 8/2010

lbar=(1/6635520)((2626427+737280 (Sqrt[3])) Log[3]+2 (470016+82944 (Sqrt[3])+360 (983+3584 (Sqrt[3])) Log[2-(Sqrt[3])]+9 (164523+65536 (Sqrt[3])) Log[2+(Sqrt[3])]-72 (8149+10240 (Sqrt[3])) Log[-3+2 (Sqrt[3])]-1665747 Log[3+2 (Sqrt[3])]-704 Log[121635+70226 (Sqrt[3])]));

FullSimplify[lbar]//Timing

lbar/.{Log[2-(Sqrt[3])]->l1,Log[2+(Sqrt[3])]->l2,Log[-3+2 (Sqrt[3])]->l3,Log[3+2 (Sqrt[3])]->l4}

Position[Table[Expand[(((a+b(Sqrt[3])))^n)],{n,30},{a,-20,20},{b,-20,20}],121635+70226 (Sqrt[3])]

Position[Table[N[(((a+b(Sqrt[3])))^n),10],{n,100},{a,50},{b,50}],_?(Abs[#-121635+70226 (Sqrt[3])]<=10^-7&)]

s1=1/90 (21+13 Sqrt[3]) ArcCoth[2]+1/6635520 ((1852283+258048 Sqrt[3]) Log[3]+2 (24960 Log[1351-780 Sqrt[3]]+2160 Log[97-56 Sqrt[3]]+2880 (-63+128 Sqrt[3]) Log[7-4 Sqrt[3]]+1080 (517+512 Sqrt[3]) Log[2-Sqrt[3]]+9 (79743+106496 Sqrt[3]) Log[2+Sqrt[3]]-72 (8149+10240 Sqrt[3]) Log[-3+2 Sqrt[3]]-1665747 Log[3+2 Sqrt[3]]+270 (1413-1024 Sqrt[3]) Log[7+4 Sqrt[3]]+64 (7344+1296 Sqrt[3]+720 Sqrt[3] Log[97+56 Sqrt[3]]-11 Log[121635+70226 Sqrt[3]])));

N[s1]

write everything in logs

s2=ExpandAll[TrigToExp[s1]]

N[s2]

Denominator[((Log[Z])/(24 (Sqrt[3])))]

gcd = LCM@@ Denominator[List@@s2]

exponentiate

s3=Together//@Exp[gcd TrigToExp[s1]]

s3//N

Log[s3]/gcd//N

the last expression is the product of two terms: a algebraic number == p1 and another (algebraic number== p2)^ Sqrt[3] and a reamaining exponential term

get a canonical form of the first algebraic number by explicitly calculate it in canonical form

p1 = ( Cases[s3, (_Integer + _. Sqrt[3])^ (_ + _. Sqrt[3]) |  (_Integer + _. Sqrt[3])^ (_Integer) ]) /. a_^ (b_ + c_. Sqrt[3]) :> a^b

p2 = ( Cases[s3, (_Integer + _. Sqrt[3])^ (_ + _. Sqrt[3])|  (_Integer + _. Sqrt[3])^ (_. Sqrt[3])  ]) /. a_^ (b_. + c_. Sqrt[3]) :> a^c

rest = s3/((Times @@ p1)PowerExpand[((Times @@ p2)^Sqrt[3])])

N[(Times @@ p1), 20]N[(Times @@ p2)^Sqrt[3], 20]rest

p1

N[(Times @@ p1)^(1/gcd), 20]

maybe this term is a small algebraic number

ra=RootApproximant[N[(Times @@ p1)^(1/gcd),100]]

does not look so

N[ra - (Times @@ p1)^(1/gcd), 20]

p1Num=Select[p1, Denominator[#]===1&]

p1Den=Select[p1, Numerator[#]===1&]

a (much) fast function for expanding  (integer + integer Sqrt[integer])^integer

power[x_, n_]:=
With[{digits=IntegerDigits[n, 2]}, Fold[Expand[Times[#1, #2]]&, 1, First/@Cases[Thread[{Reverse[NestList[Expand[#^2]&, x, Length[digits]-1]], digits}], {_, 1}]]]

p1Num2 = Fold[Expand[Times[#1, #2]]&, 1, power @@@ p1Num];

N[p1Num2 /. Sqrt[3] -> X]

p1Den2 = Fold[Expand[Times[#1, #2]]&, 1, power @@@ p1Den];

Block[{$MaxExtraPrecision = 5 10^6}, N[(p1Num2/p1Den2)^(1/gcd), 20]]

{c0, c1}=CoefficientList[p1Den2 /. Sqrt[3] -> X, X];

N[{c0, c1}]

p1B = Expand[1/(c0^2 - 3c1^2)*p1Num2 (c0 - c1 Sqrt[3])];

Block[{$MaxExtraPrecision = 5 10^6}, N[(p1B)^(1/gcd), 20]]

{Length[p1B], Head[p1B[[2]]], p1B[[2, 2]]}

Head[p1B]

N[p1B[[1]]]

pp=p1B /. 1/Sqrt[3] -> X;

N[pp[[2,1]]]

pp=Together[pp];

N[Denominator[pp]]

N[Numerator[pp]]

gcd

ppp=RootReduce[Numerator[pp/.X->1/Sqrt[3]]^(1/2)];

TimeUsed[]

Head[ppp]

FactorInteger[gcd]

Do[Print[i];Print[Head[ppp]];Print[TimeUsed[]];ppp=RootReduce[Sqrt[ppp]],{i,2,14}]

Exponent[ppp[[1,1]],#]

Do[Print[i];Print[Exponent[ppp[[1,1]],#]];Print[TimeUsed[]];ppp=RootReduce[ppp^(1/3)],{i,4}]

(ppp=RootReduce[ppp^(1/5)]);//Timing

Exponent[ppp[[1,1]],#]

(den=Denominator[pp]^(1/gcd));//Timing

den

ByteCount[ppp]

ppp

ppp/den

ToRadicals[ppp/den]

x1=((((2+(Sqrt[3])))^(1/80))/(3^(2253179/6635520)));

p2

N[(Times @@ p2)^(1/gcd), 20]

maybe this term is a small algebraic number

ra=RootApproximant[N[(Times @@ p2)^(1/gcd),100]]

does not look so

N[ra - (Times @@ p2)^(1/gcd), 20]

p2Num=Select[p2, Denominator[#]===1&]

p2Den=Select[p2, Numerator[#]===1&]

a (much) fast function for expanding  (integer + integer Sqrt[integer])^integer

p2Num2 = Fold[Expand[Times[#1, #2]]&, 1, power @@@ p2Num];

N[p2Num2 /. Sqrt[3] -> X]

p2Den2 = Fold[Expand[Times[#1, #2]]&, 1, power @@@ p2Den];

Block[{$MaxExtraPrecision = 5 10^6}, N[(p2Num2/p2Den2)^(1/gcd), 20]]

{c0, c1}=CoefficientList[p2Den2 /. Sqrt[3] -> X, X];

N[{c0, c1}]

p2B = Expand[1/(c0^2 - 3c1^2)*p2Num2 (c0 - c1 Sqrt[3])];

Block[{$MaxExtraPrecision = 5 10^6}, N[(p2B)^(1/gcd), 20]]

{Length[p2B], Head[p2B[[2]]], p2B[[2, 2]]}

Head[p2B]

N[p2B[[1]]]

pp=p2B /. 1/Sqrt[3] -> X;

N[pp[[2,1]]]

pp=Together[pp];

N[Denominator[pp]]

N[Numerator[pp]]

gcd

ppp=RootReduce[Numerator[pp/.X->1/Sqrt[3]]^(1/2)];

TimeUsed[]

Head[ppp]

FactorInteger[gcd]

Do[Print[i];Print[Head[ppp]];Print[TimeUsed[]];ppp=RootReduce[Sqrt[ppp]],{i,2,14}]

Exponent[ppp[[1,1]],#]

Do[Print[i];Print[Exponent[ppp[[1,1]],#]];Print[TimeUsed[]];ppp=RootReduce[ppp^(1/3)],{i,4}]

(ppp=RootReduce[ppp^(1/5)]);//Timing

Exponent[ppp[[1,1]],#]

(den=Denominator[pp]^(1/gcd));//Timing

den

ByteCount[ppp]

ppp

ppp/den

ToRadicals[ppp/den]

x2=((((2+(Sqrt[3])))^(1/90))/(3^(1/9)));

N[%,20]

Together

Log[(x1^gcd)(x2^(gcd(Sqrt[3])))rest]/gcd//N

x1

Log[x1 (x2^(Sqrt[3]))(rest^(1/gcd))]//N

x1 (x2^(Sqrt[3]))(rest^(1/gcd))

FullSimplify[Log[%]]

N[%]