Triquetra

Author

Eric W. Weisstein
August 1, 2014

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

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

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

Definitions

ineq=(3 (x^2+y^2)≤a (2 a+3 x+Sqrt[3] y)&&((a/2+x)^2+(-(a/(2 Sqrt[3]))+y)^2≤a^2||2 Sqrt[3] a y+3 (x^2+y^2)≤2 a^2))||((a/2+x)^2+(-(a/(2 Sqrt[3]))+y)^2≤a^2&&2 Sqrt[3] a y+3 (x^2+y^2)≤2 a^2);

implreg=ImplicitRegion[ineq,{x,y}];

reg=RegionUnion[RegionIntersection@@@Subsets[Disk[# a/2,a]&/@{{-1,(1/(Sqrt[3]))},{1,(1/(Sqrt[3]))},{0,-(2/(Sqrt[3]))}},{2}]];

assum=a>0;

Construction

Solve[(x+a/2)^2+y^2==a^2&&(x-a/2)^2+y^2==a^2,{x,y}]

Inequalities[Circle[{x0_,y0_},r_],{x_,y_}]:=(x-x0)^2+(y-y0)^2≤r^2

Graphics[{Circle[{-1/2,0},1],Circle[{1/2,0},1],Circle[{0,-(Sqrt[3])/2},1]}]

FullSimplify[Or@@And@@@Subsets[(Inequalities[#,{x,y}]&/@{Circle[{-a/2,0},a],Circle[{a/2,0},a],Circle[{0,-a(Sqrt[3])/2},a]}),{2}],a>0]

ineq[x_,y_]:=((((-(a/2)+x))^2)+(y^2)≤(a^2)&&(((((a/2)+x))^2)+(y^2)≤(a^2)||(x^2)+((((((Sqrt[3]) a)/2)+y))^2)≤(a^2)))||(((((a/2)+x))^2)+(y^2)≤(a^2)&&(x^2)+((((((Sqrt[3]) a)/2)+y))^2)≤(a^2))

Block[{a=1},RegionPlot[ineq[x,y],{x,-1,1},{y,-1,1},AspectRatio->Automatic]]

θ=ArcSin[(Sqrt[3])/2]

Block[{a=1},Show[{
RegionPlot[ineq[x,y],{x,-1.5,1.5},{y,-2,1},AspectRatio->Automatic,MaxRecursion->5,Frame->False],Graphics[{Circle[{-a/2,0},a,{-2θ,θ}],Circle[{a/2,0},a,{π-θ,π+2θ}],Circle[{0,-(Sqrt[3])a/2},a,{π/2-3θ/2,π/2+3θ/2}]}],
Graphics[{Dashing[{.02}],Circle[{-a/2,0},a],Circle[{a/2,0},a],Circle[{0,-(Sqrt[3])a/2},a]}]}]]

Centroid of Original shape

Integrate[Boole[ineq[x,y]],{x,-∞,∞},{y,-∞,∞},Assumptions->a>0]

(1/((1/2) (-(Sqrt[3]) (a^2)+2 (a^2) π)))Integrate[{x,y}Boole[ineq[x,y]],{x,-∞,∞},{y,-∞,∞},Assumptions->a>0]//FullSimplify

FullSimplify[ineq[x,y]/.y->(y-(a/(2 (Sqrt[3])))),a>0]

New Inequality

ineq[x_,y_]:=(3 ((x^2)+(y^2))≤a (2 a+3 x+(Sqrt[3]) y)&&(((((a/2)+x))^2)+(((-(a/(2 (Sqrt[3])))+y))^2)≤(a^2)||2 (Sqrt[3]) a y+3 ((x^2)+(y^2))≤2 (a^2)))||(((((a/2)+x))^2)+(((-(a/(2 (Sqrt[3])))+y))^2)≤(a^2)&&2 (Sqrt[3]) a y+3 ((x^2)+(y^2))≤2 (a^2))

((Sqrt[3])/2)+(1/(2(Sqrt[3])))//N

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

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

N[%]

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

Plots

Diagram

LaminaData["Triquetra","Diagram"]

DiscretizeRegion

Block[{a=1},Show[DiscretizeRegion[#,PrecisionGoal->5],Axes->True,Ticks->None]]&/@{reg,implreg}

RegionPlot

Block[{a=1},RegionPlot[ineq,{x,-a,a},{y,-.7a,1.2a},AspectRatio->Automatic,ImageSize->Small,Frame->False,Axes->True,Ticks->None]]

Properties

Area

Area

Assuming[assum,FullSimplify[Area[reg]]]//Timing

Assuming[assum,FullSimplify[Area[implreg]]]

Integrate

Integrate[Boole[ineq[x,y]],{x,-∞,∞},{y,-∞,∞},Assumptions->a>0]//Simplify

RegionMeasure

Assuming[assum,FullSimplify[RegionMeasure[reg]]]//Timing

Assuming[assum,FullSimplify[RegionMeasure[reg/.a->1]]]//Timing

Assuming[assum,FullSimplify[RegionMeasure[implreg]]]//Timing

AreaInertiaTensor

Integrate[AreaInertiaTensor[{x,y}]Boole[ineq[x,y]],{x,-∞,∞},{y,-∞,∞},Assumptions->a>0]//FullSimplify

Centroid

Integrate

(1/(-(1/2) (a^2) ((Sqrt[3])-2 π)))Integrate[{x,y}Boole[ineq[x,y]],{x,-∞,∞},{y,-∞,∞},Assumptions->a>0]//FullSimplify

RegionCentroid

Assuming[assum,FullSimplify[RegionCentroid[reg]]]

Assuming[assum,FullSimplify[RegionCentroid[reg/.a->1]]]

Assuming[assum,FullSimplify[RegionCentroid[implreg]]]//Timing

Convex

TimeConstrained[Region`ConvexRegionQ[reg],600]//Timing

TimeConstrained[Region`ConvexRegionQ[implreg],600]//Timing

GeneralizedDiameter

RotationMatrix[2π/3].{0,2/Sqrt[3]}

Block[{a=1},Show[{RegionPlot[ineq[x,y],{x,-1.3,1.3},{y,-1.2,(2/(Sqrt[3]))},AspectRatio->Automatic,Axes->True],
Graphics[{Circle[{0,0},2/Sqrt[3]],Line[{{0,2/Sqrt[3]},{-1,-(1/(Sqrt[3]))},{1,-(1/(Sqrt[3]))},{0,2/Sqrt[3]}}]}]
}]]

Norm[{0,2/Sqrt[3]}-{-1,-(1/(Sqrt[3]))}]

Perimeter

3 3θ

RadiiOfGyration

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