Straight Skeleton

Author

Eric W. Weisstein
August 14, 2026

This notebook downloaded from https://mathworld.wolfram.com/notebooks/ComputationalGeometry/StraightSkeleton.nb.

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

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

Illustration

The dashed polygons show inward-moving wavefronts of a rectangle.  The blue vertex paths form its straight skeleton.

Module[{boundary,neutral,skeleton,wavefronts},boundary={{-2.4,-1.5},{2.4,-1.5},{2.4,1.5},{-2.4,1.5}};neutral=LightDarkSwitched[Black,White];skeleton={Line[{{-2.4,-1.5},{-0.9,0}}],Line[{{-2.4,1.5},{-0.9,0}}],Line[{{2.4,-1.5},{0.9,0}}],Line[{{2.4,1.5},{0.9,0}}],Line[{{-0.9,0},{0.9,0}}]};wavefronts=Table[Line[Append[{{-2.4+t,-1.5+t},{2.4-t,-1.5+t},{2.4-t,1.5-t},{-2.4+t,1.5-t}},{-2.4+t,-1.5+t}]],{t,{0.35,0.7,1.05}}];Graphics[{Directive[StandardGray,Dashed,AbsoluteThickness[1.5]],wavefronts,Directive[Blue,Dashing[{}],AbsoluteThickness[3]],skeleton,Directive[neutral,Dashing[{}],AbsoluteThickness[2]],Line[Append[boundary,First[boundary]]]}]]