Swastika

Author

Eric W. Weisstein
July 31, 2014

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Laminae/Swastika.nb.

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

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

Definitions

ineq=-a/2≤x≤a/2&&-a/2≤y≤a/2&&!((-a/2+t≤x≤-t/2&&t/2≤y≤a/2)||(t/2≤x≤a/2&&t/2≤y≤a/2-t)||(-a/2≤x≤-t/2&&-a/2+t≤y≤-t/2)||(t/2≤x≤a/2-t&&-a/2≤y≤-t/2));

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

reg=RegionDifference[Rectangle[-{1,1}a/2,{1,1}a/2],RegionUnion[
Rectangle[{-a/2,-a/2+t},-{1,1}t/2],
Rectangle[{t/2,-a/2},{a/2-t,-t/2}],
Rectangle[{1,1}t/2,{a/2,a/2-t}],
Rectangle[{-a/2+t,t/2},{-t/2,a/2}]
]];

assum=0<3t<a;

verts={{a,t},{t,t},{t,a-2t},{a,a-2t},{a,a},{-t,a},
{-t,t},{-a+2t,t},{-a+2t,a},
{-a,a},{-a,-t},{-t,-t},{-t,-a+2t},{-a,-a+2t},{-a,-a},{t,-a},{t,-t},{a-2t,-t},{a-2t,-a},{a,-a}}/2;

Plots

Diagram

LaminaData["Swastika","Diagram"]

DiscretizeRegion

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

Polygon

Block[{t=.2,a=1},Graphics[Polygon[verts],ImageSize->Small]]

RegionPlot

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

Properties

Area

Area

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

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

Integrate

Assuming[a>0&&0<t<a/4,FullSimplify[Area[ineq[x,y],{x,y}]]]//Timing

FullSimplify[(a^2)-4(((a-t)/2))(((a-3t)/2))]

RegionMeasure

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

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

Centroid

Integrate

Assuming[a>0&&0<t<a/4,FullSimplify[Centroid[ineq[x,y],{x,y}]]]//Timing

RegionCentroid

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

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

Convex

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

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

EdgeCount

Length[verts]

EdgeLengths

s=FullSimplify[Norm/@Subtract@@@Partition[verts,2,1,1],assum]

GeneralizedDiameter

a(Sqrt[2])

InertiaTensor

(i=Assuming[a>0&&0<t<a/4,FullSimplify[AreaInertiaTensor[ineq[x,y],{x,y}]]])//Timing

Perimeter

Total[s]//FullSimplify

RadiiOfGyration

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

SectionModuli

FullSimplify[Tr[i,List]/(a/2)]