Manipulate[Graphics[{{ColorData[97,1],Polygon[pt]},With[{sides=Partition[pt,2,1,1]},{{ColorData[97,3],Map[Polygon[Append[#,Mean[#]+Sqrt[3]Apply[EuclideanDistance,#]Normalize[Cross[#[[1]]-#[[2]]]]/2]]&,sides]},{Directive[FaceForm[],EdgeForm[Directive[AbsoluteThickness[4],ColorData[97,4]]]],Polygon[(Mean/@sides)+(EuclideanDistance@@@sides)(Normalize[Cross[#1-#2]]&@@@sides)/(2Sqrt[3])]}}]},PlotRange2.25],{{pt,N[CirclePoints[3]]},Locator}]