Equilateral Triangle

Author

Eric W. Weisstein
July 23, 2014

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Polygons/EquilateralTriangle.nb.

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

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

Deifnitions

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

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

assum=a>0;

t=Simplify[Triangle[𝒶,𝒶,𝒶],𝒶>0]

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

t=Triangle[{{0,a/Sqrt[3]},{-(a/2),-(a/(2 Sqrt[3]))},{a/2,-(a/(2 Sqrt[3]))}}];

Figure

With[{a=1},Graphics[{
Line[v={{-a/2,0},{a/2,0},{0,Sqrt[3]a/2},{-a/2,0}}],
EqualAngleTicks[v[[#]],1,.15,.04,1]&/@{{3,1,2},{1,2,3},{2,3,4}},
Text[Style["a",Italic],{0,-.05}],
Text[Style["a",Italic],{.33,.45}#]&/@{{-1,1},{1,1}},
Table[Text[Style["60°"],{0,.27}+(.31+If[n==0,.03,0])Through[{Cos,Sin}[π/2+2π n/3]]],{n,0,2}]
}]]

Plots

Line

Show[Graphics[RegularPolygon[3],AspectRatio->Automatic]]

Diagram

LaminaData["FilledEquilateralTriangle","Diagram"]

DiscretizeRegion

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

RegionPlot

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

InequalityPlot

<<Graphics`InequalityGraphics`

InequalityPlot[Max[-2y,-(Sqrt[3]) x+y,(Sqrt[3]) x+y]<1,{x},{y},AxesLabel->TraditionalForm/@{x,y}]

InequalityPlot[Max[-2y,-(Sqrt[3]) x+y,(Sqrt[3]) x+y]<1,{x},{y},Ticks->None,AxesLabel->TraditionalForm/@{x,y}]

#[{Sqrt[x^2+y^2],Max[-2y,-(Sqrt[3]) x+y,(Sqrt[3]) x+y]==1},{x,y}]&/@{Maximize,Minimize}

Properties

TableForm[RegularPolygonInformation[3]//Simplify,TableDepth->2]

Equations

Inequality

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

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

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

RegionPlot[ineq[x,y]/.a->1,{x,-1/2,1/2},{y,-.3,.6},AspectRatio->Automatic]

Properties

Area

Area

Assuming[assum,Simplify@Area[reg]]

Integrate

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

RegionMeasure

Assuming[assum,Simplify@RegionMeasure[reg]]

Centroid

Integrate

Centroid[ineq[x,y],{x,y}]

RegionCentroid

Assuming[assum,Simplify@RegionCentroid[reg]]

Circumcircle

FullSimplify[Circumcircle[t],a>0]

With[{a=1},Graphics[{
Opacity[.2],
Circle[{0,0},(a/(Sqrt[3]))],
Polygon[{{0,a/Sqrt[3]},{-(a/2),-(a/(2 Sqrt[3]))},{a/2,-(a/(2 Sqrt[3]))}}]
},Axes->True]]

Incircle

Simplify[Incircle[t],a>0]

With[{a=1},Graphics[{
Opacity[.2],
Circle[{0,0},(a/(2 (Sqrt[3])))],
Polygon[{{0,a/Sqrt[3]},{-(a/2),-(a/(2 Sqrt[3]))},{a/2,-(a/(2 Sqrt[3]))}}]
},Axes->True]]

GeneralizedDiameter

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

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

pts={x1->-(1/2),x2->0,y1->-(1/(2 (Sqrt[3]))),y2->-(1/(2 (Sqrt[3])))+((Sqrt[3])/2)};

Show[{RegionPlot[ineq[x,y]/.a->1,{x,-1,1},{y,-1,1}],Graphics[{PointSize[.05],Point[{{x1,y1},{x2,y2}}/.pts]}]}]

InertiaTensor

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

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]

RadiiOfGyration

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

SideLengths

Simplify[SideLengths[Evaluate[t]],a>0]

Central triangles

With[{t=RandomTriangle[20]},
Select[Triangles,EquilateralQ[#[t]]&]
]

Point and line picking

Figure

xform[x0_]:=With[{x1={0,Sqrt[3]/3},x2={1/2,-Sqrt[3]/6}},
If[Det[{x2-x1,x1-x0}]>=0,
x0,{1/2,1/(2Sqrt[3])}-x0]
]

pts=Table[Random[],{1000},{2}];

inpts=xform[-{1/2,Sqrt[3]/6}+#1v1+#2v2]&@@@pts;

v1={1,0};
v2=Through[{Cos,Sin}[Pi/3]];

Sqrt[3]((1/2)-Abs[x-(1/2)])/.x->1/2

eqtri=Plot[{Sqrt[3]((1/2)-Abs[x-(1/2)]),0},{x,0,1},AspectRatio->Automatic,PlotStyle->Red,Axes->True]

SideLengths[Triangle[{{0,0},v2,{1,0}}]]

Show[Graphics[{
Line[(Sqrt[3]/3Through[{Cos,Sin}[2Pi(#-1/4)/3]]&/@Range[0,3])],
Line[{1/2,1/(2Sqrt[3])}+#&/@(Sqrt[3]/3Through[{Cos,Sin}[2Pi(#+1/4)/3]]&/@Range[0,3])],
{Red,
PointSize[.02],
Point/@inpts
}
}],AspectRatio->Automatic,PlotRange->All]

(
pts=Table[Random[],{10^5},{2}];
inpts=xform[-{1/2,Sqrt[3]/6}+#1v1+#2v2]&@@@pts;
)//Timing

Mean[Norm/@Subtract@@@Partition[inpts,2]]//Timing

{Max[First/@inpts]-Min[First/@inpts],Max[Last/@inpts]-Min[Last/@inpts]}

{1.,Sqrt[3]/2.}

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

Length[pts=Select[Table[{Random[],Sqrt[3]/2Random[]},{10^4}],TriangleInteriorQ[t,#]&]]//Timing

Mean[Norm/@Subtract@@@Partition[pts,2]]//Timing

Animation

(
pts=Table[Random[],{100},{2}];
inpts=xform[-{1/2,Sqrt[3]/6}+#1v1+#2v2]&@@@pts;
)//Timing

p=Partition[inpts,2];

lines=Reverse[NestList[Most,Transpose[{Table[Hue[Random[]],{Length[p]}],Line/@p}],Length[p]-1]];

movie=Show[Graphics[{
Line[#-{1/2,Sqrt[3]/6}&/@{{0,0},{1,0},{1/2,Sqrt[3]/2},{0,0}}],
Thickness[.02],
#}],AspectRatio->Automatic]&/@lines;

<<Utilities`GIF`;

Export[gifs<>"EquilateralTriangleLinePicking.gif",movie]//Timing

Monte Carlo

<<Graphics`InequalityGraphics`

InequalityPlot[0<x<1&&0<y<Sqrt[3]((1/2)-Abs[x-(1/2)]),{x},{y},AspectRatio->Automatic]

(p=Select[Table[Random[],{10^7},{2}],0<#[[2]]<Sqrt[3]((1/2)-Abs[#[[1]]-(1/2)])&])//Length//Timing

Show[Graphics[{
PointSize[.015],Point/@Take[p,1200]
}],AspectRatio->Automatic]

dist=Norm/@Subtract@@@Partition[p,2];//Timing

<<Graphics`Graphics`

BarChart[Length/@Split[Ceiling[200Sort[dist]]],Ticks->None,BarEdges->None,BarSpacing->-.2,PlotRange->{{0,200},All},AxesLabel->TraditionalForm/@{l,P[l]}]

Numeric

Integrate[1,{x1,0,1},{x2,0,1},{y1,0,Sqrt[3]((1/2)-Abs[x1-(1/2)])},{y2,0,Sqrt[3]((1/2)-Abs[x2-(1/2)])}]

(16/3)Integrate[Sqrt[(x1-x2)^2+(y1-y2)^2],{x1,0,1},{x2,0,1},{y1,0,Sqrt[3]((1/2)-Abs[x1-(1/2)])},{y2,0,Sqrt[3]((1/2)-Abs[x2-(1/2)])}]//Timing

(16/3)NIntegrate[Sqrt[(x1-x2)^2+(y1-y2)^2],{x1,0,1},{x2,0,1},{y1,0,Sqrt[3]((1/2)-Abs[x1-(1/2)])},{y2,0,Sqrt[3]((1/2)-Abs[x2-(1/2)])},Method->QuasiMonteCarlo,PrecisionGoal->2,AccuracyGoal->Infinity]//Timing

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

And@@(Inequalities[Triangle[{{0,0},{1,0},{1,Sqrt[3]}/2}],#]&/@{{x1,y1},{x2,y2}})

ineqs=y1>0&&((Sqrt[3])/2)-(((Sqrt[3]) x1)/2)-(y1/2)>0&&(((Sqrt[3]) x1)/2)-(y1/2)>0&&y2>0&&((Sqrt[3])/2)-(((Sqrt[3]) x2)/2)-(y2/2)>0&&(((Sqrt[3]) x2)/2)-(y2/2)>0;

(16/3)NIntegrate[Boole[ineqs]Sqrt[(x1-x2)^2+(y1-y2)^2],{x1,-∞,∞},{x2,-∞,∞},{y1,-∞,∞},{y2,-∞,∞}]

(16/3)NIntegrate[Boole[ineqs]Sqrt[(x1-x2)^2+(y1-y2)^2],{x1,0,1},{x2,0,1},{y1,0,1},{y2,0,1}]//Timing

Exact v5.0

N[(1/20) (4+3Log[3]),50]

Timing[i=(16/3)(Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,0,(1/2)},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3]) x2}]+Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,(1/2),1},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3])-(Sqrt[3]) x2}]+Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,(1/2),1},{x2,0,(1/2)},{y1,0,(Sqrt[3])(1- x1)},{y2,0,(Sqrt[3]) x2}]+Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,(1/2),1},{x2,(1/2),1},{y1,0,(Sqrt[3])(1- x1)},{y2,0,(Sqrt[3])(1- x2)}])]

cad=CylindricalDecomposition[And@@(Inequalities[t,#]&/@{{x1,y1},{x2,y2}}),{x1,x2,y1,y2}]

cad/.{x1->(Subscript[x, 1]),x2->(Subscript[x, 2]),y1->(Subscript[y, 1]),y2->(Subscript[y, 2])}//TraditionalForm

Calculus`Integration`Private`DebugIntegrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)])Boole[And@@(0<#<1&/@{x1,x2,x3,y1,y2,y3})],{x1},{x2},{x3},{y1},{y2},{y3}]/.{x1->Subscript[x,1],x2->Subscript[x,2],x3->Subscript[x,3],
y1->Subscript[y,1],y2->Subscript[y,2],y3->Subscript[y,3]}//TraditionalForm

intervals={
{{x1,0,(1/2)},{x2,0,(1/2)},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3]) x2}},
{{x1,0,(1/2)},{x2,(1/2),1},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3])-(Sqrt[3]) x2}},
{{x1,(1/2),1},{x2,0,(1/2)},{y1,0,(Sqrt[3])(1- x1)},{y2,0,(Sqrt[3]) x2}},
{{x1,(1/2),1},{x2,(1/2),1},{y1,0,(Sqrt[3])(1- x1)},{y2,0,(Sqrt[3])(1- x2)}}
};

regions=Transpose[Partition[#,2]]&/@Map[Less@@#[[{2,1,3}]]&,intervals,{2}]

<<Graphics`InequalityGraphics`

Show[GraphicsArray[
Block[{$DisplayFunction=Identity},
{InequalityPlot[#,{x1},{y1},PlotRange->{{0,1},{0,Sqrt[3]/2}},PlotLabel->TraditionalForm[{(Subscript[x, 1]),(Subscript[y, 1])}]]&/@First/@regions,InequalityPlot[#,{x2},{y2},PlotRange->{{0,1},{0,Sqrt[3]/2}},PlotLabel->TraditionalForm[{(Subscript[x, 2]),(Subscript[y, 2])}]]&/@Last/@regions}]
]]

v6

Timing[i=(16/3)(Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,0,(1/2)},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3]) x2}]+Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,(1/2),1},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3])(1- x2)}]+Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,(1/2),1},{x2,0,(1/2)},{y1,0,(Sqrt[3])(1- x1)},{y2,0,(Sqrt[3]) x2}]+Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,(1/2),1},{x2,(1/2),1},{y1,0,(Sqrt[3])(1- x1)},{y2,0,(Sqrt[3])(1- x2)}])]

...dies...

NIntegrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,0,(1/2)},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3]) x2},Method->QuasiMonteCarlo]

NIntegrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,0,(1/2)},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3]) x2},Method->QuasiMonteCarlo,PrecisionGoal->6,AccuracyGoal->Infinity]

NIntegrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,0,(1/2)},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3]) x2},Method->MultiDimensional]

i1=Integrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),y1]

int1=Simplify[(i1/.y1->(Sqrt[3])x1)-(i1/.y1->0),0<x1<1/2&&0<x2<1/2&&0<(Sqrt[3])x2<y2]

i2=Simplify[Integrate[int1,y2]]

int2=Simplify[(i2/.y2->(Sqrt[3])x2)-(i2/.y2->0)]

NIntegrate[int2,{x1,0,1/2},{x2,0,x1,1/2}]

Plot3D[int2,{x1,0,1/2},{x2,0,1/2},PlotPoints->50,Mesh->False]

This has a branch cut at y==x and so technically requires special treatment

i3=Simplify[Integrate[int2,x1]]

int3=Simplify[(i3/.x1->1/2)-(i3/.x1->0)]

NIntegrate[int3,{x2,0,1/2}]

NIntegrate[int3,{x2,0,1/2},WorkingPrecision->20,SingularityDepth->7,MaxRecursion->15]

int3a[x2_]=int3;

f[x2_?NumericQ]:=N[int3a[SetPrecision[x2,Infinity]],200]

f[.1]

NIntegrate[int3,{x2,0,1/2},SingularityDepth->12,WorkingPrecision->50,MaxRecursion->15,PrecisionGoal->20]

NIntegrate[f[x2],{x2,0,1/2},SingularityDepth->12,WorkingPrecision->50,MaxRecursion->15,PrecisionGoal->25]//Timing

NIntegrate[f[x2],{x2,0,1/2},SingularityDepth->12,WorkingPrecision->100,MaxRecursion->15,PrecisionGoal->35]//Timing

N[exact,50]

However, the real part seems to be correct, so proceed blindly forward with that assumption...

int3c=Simplify[Re[int3],0<x2<1/2]

NIntegrate[int3c,{x2,0,1/2}]

Plot[int3c,{x2,0,1/2}]

i4=Simplify[Integrate[int3c,x2]]

int4=Simplify[Limit[i4,x2->1/2]-Limit[i4,x2->0]]

N[int4]

int4c=Re[int4]

N[int4c,20]

(Subscript[I, 2])

NIntegrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,(1/2),1},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3])-(Sqrt[3]) x2},Method->QuasiMonteCarlo]

NIntegrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,0,(1/2)},{x2,(1/2),1},{y1,0,(Sqrt[3]) x1},{y2,0,(Sqrt[3])-(Sqrt[3]) x2},Method->QuasiMonteCarlo,PrecisionGoal->6,AccuracyGoal->Infinity,WorkingPrecision->16]

int1=Simplify[(i1/.y1->(Sqrt[3])x1)-(i1/.y1->0)]

i2=Integrate[int1,y2]

int2=Simplify[(i2/.y2->(Sqrt[3])(1-x2))-(i2/.y2->0)]

NIntegrate[int2,{x1,0,1/2},{x2,1/2,1}]

Plot3D[int2,{x1,0,1/2},{x2,1/2,1}]

i3=Simplify[Integrate[int2,x1]]

int3=Simplify[(i3/.x1->1/2)-(i3/.x1->0)]

NIntegrate[int3,{x2,1/2,1}]

Plot[int3,{x2,1/2,1}]

Plot[int3,{x2,1/2,1},PlotPoints->200]

i4=Simplify[Integrate[int3,x2]]

int4=Simplify[Limit[i4,x2->1]-Limit[i4,x2->1/2]]

N[int4,20]

(Subscript[I, 3])

NIntegrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,(1/2),1},{x2,0,(1/2)},{y1,0,(Sqrt[3])(1- x1)},{y2,0,(Sqrt[3]) x2},Method->QuasiMonteCarlo,PrecisionGoal->6,AccuracyGoal->Infinity]

Same as (Subscript[I, 2])

(Subscript[I, 4])

NIntegrate[(Sqrt[(((x1-x2))^2)+(((y1-y2))^2)]),{x1,(1/2),1},{x2,(1/2),1},{y1,0,(Sqrt[3])(1- x1)},{y2,0,(Sqrt[3])(1- x2)},Method->QuasiMonteCarlo,
PrecisionGoal->6,AccuracyGoal->Infinity]

Same as (Subscript[I, 1])

Together

piece1=(1/983040)(6528+1152 (Sqrt[3])+2592 ArcSinh[(1/(Sqrt[3]))]+288 ArcSinh[(Sqrt[3])]+(Sqrt[3]) Log[11790184577738583171520872861412518665678211592275841109096961]+(Sqrt[3]) Log[115792089237316195423570985008687907853269984665640564039457584007913129639936]+(Sqrt[3]) Log[]-(Sqrt[3]) Log[]+Log[]+(Sqrt[3]) Log[]-(Sqrt[3]) Log[]-(Sqrt[3]) Log[]-(Sqrt[3]) Log[]+(Sqrt[3]) Log[]+2048 (Sqrt[3]) Log[2-(Sqrt[3])]+1536 (Sqrt[3]) Log[2+(Sqrt[3])]+288 Log[3+2 (Sqrt[3])]+1024 (Sqrt[3]) Log[3+2 (Sqrt[3])]);

piece2=(1/307200)(3720-360 (Sqrt[3])+3510 ArcSinh[(1/(Sqrt[3]))]-90 ArcSinh[(Sqrt[3])]-(Sqrt[3]) Log[]+(Sqrt[3]) Log[]-(Sqrt[3]) Log[]-(Sqrt[3]) Log[]+(Sqrt[3]) Log[]-(Sqrt[3]) Log[]+Log[]+(Sqrt[3]) Log[]-400 (Sqrt[3]) Log[2-(Sqrt[3])]+1680 (Sqrt[3]) Log[2+(Sqrt[3])]+80 (Sqrt[3]) Log[-3+2 (Sqrt[3])]-90 Log[3+2 (Sqrt[3])]-2160 (Sqrt[3]) Log[3+2 (Sqrt[3])]);

N[(16/3)2(piece1+piece2),20]

soln=(16/3)2(piece1+piece2);

FullSimplify[Exp[soln]]

N[(1/5)+Log[(3^((1/360) (54+11 (Sqrt[3])))) (((2-(Sqrt[3])))^(1/(40 (Sqrt[3])))) (((2+(Sqrt[3])))^((3 (Sqrt[3]))/40)) (((-3+2 (Sqrt[3])))^(1/(120 (Sqrt[3])))) (((3+2 (Sqrt[3])))^(-(23/(120 (Sqrt[3])))))],20]

N[(1/5)+Log[(3^((1/360) (54+11 (Sqrt[3])))) (((2-(Sqrt[3])))^(1/(40 (Sqrt[3])))) (((2+(Sqrt[3])))^((3 (Sqrt[3]))/40)) (((-3+2 (Sqrt[3])))^(1/(120 (Sqrt[3])))) (((3+2 (Sqrt[3])))^(-(23/(120 (Sqrt[3])))))],20]

FullSimplify[Log[(3^((1/360) (54+11 (Sqrt[3])))) (((2-(Sqrt[3])))^(1/(40 (Sqrt[3])))) (((2+(Sqrt[3])))^((3 (Sqrt[3]))/40)) (((-3+2 (Sqrt[3])))^(1/(120 (Sqrt[3])))) (((3+2 (Sqrt[3])))^(-(23/(120 (Sqrt[3])))))]]

N[(1/5)+((Log[58149737003040059690390169])/360),20]

FactorInteger[58149737003040059690390169]

N[(1/5)+((54Log[3])/360),20]

FullSimplify[(1/5)+((54Log[3])/360)]

N[(1/20) (4+3Log[3]),50]

ByteCount/@{(1/20) (4+3Log[3]),(1/20) (4+Log[27])}

Exact v6.0

ineqs//TraditionalForm

(i=(16/3)Integrate[Boole[ineqs]Sqrt[(x1-x2)^2+(y1-y2)^2],{x1,0,1},{x2,0,1},{y1,0,1},{y2,0,1}])//Timing

FullSimplify[(1/11059200)(2211840+10096920 ArcCoth[5]+4608000 (Sqrt[3]) ArcCoth[1-(4/(Sqrt[3]))]+9706410 ArcSinh[(1/(Sqrt[3]))]-1351680 ArcSinh[(Sqrt[3])]-145920 (Sqrt[3]) ArcSinh[(Sqrt[3])]-7746420 ArcTanh[1-(Sqrt[3])]-1519680 Log[(3/2)]-4139760 Log[2]+14691840 (Sqrt[3]) Log[2]-10266435 Log[3]-844800 (Sqrt[3]) Log[3]-4147200 (Sqrt[3]) Log[4]-5529600 Log[6]-61440 (Sqrt[3]) Log[6]+102400 (Sqrt[3]) Log[8]-3103200 Log[9]-153600 (Sqrt[3]) Log[9]+30720 (Sqrt[3]) Log[12]+324920 Log[27]+13068 Log[32]+10752 (Sqrt[3]) Log[32]-460800 (Sqrt[3]) Log[(1024/27)]+2764800 Log[64]+34560 Log[81]+648000 Log[243]+64800 Log[(19683/64)]+64800 Log[1728]+64800 Log[1351-780 (Sqrt[3])]+76800 (Sqrt[3]) Log[1351-780 (Sqrt[3])]-76800 Log[26-15 (Sqrt[3])]+19200 (Sqrt[3]) Log[7-4 (Sqrt[3])]-3317760 (Sqrt[3]) Log[2-(Sqrt[3])]+2304000 (Sqrt[3]) Log[(1/2) (2+(Sqrt[3]))]-224640 Log[2+(Sqrt[3])]-1689600 (Sqrt[3]) Log[2+(Sqrt[3])]+2912250 Log[-3+2 (Sqrt[3])]+384000 (Sqrt[3]) Log[-3+2 (Sqrt[3])]+2289600 Log[3+2 (Sqrt[3])]-2012160 (Sqrt[3]) Log[3+2 (Sqrt[3])]+3456000 Log[-(9/2)+3 (Sqrt[3])]-30720 Log[7+4 (Sqrt[3])]+1228800 (Sqrt[3]) Log[12+8 (Sqrt[3])]+379200 Log[45+26 (Sqrt[3])]+158400 Log[135+78 (Sqrt[3])]+64800 Log[1351+780 (Sqrt[3])]+30720 (Sqrt[3]) Log[1351+780 (Sqrt[3])])]//Timing

(i=(16/3)IntegrateWithAssumptions[Boole[ineqs]Sqrt[(x1-x2)^2+(y1-y2)^2],{x1,0,1},{x2,0,1},{y1,0,1},{y2,0,1}])//Timing