In an effort to articulate models for the intuitive representation and manipulation of 2D and 3D forms, Blum (1967, 1973) invented the notion of a skeleton. His insight was to consider a disc as a basic geometric primitive and to use it to describe the reflective symmetries of an object. This representation became very popular in a variety of fields including computer vision, computer aided design, graphics and medical image analysis. In this article we survey the basic properties of skeletons and show how considerations from classical mechanics and geometric optics lead to new insights into how to compute them. We detail the algorithms we have developed in this regard and present several numerical examples to illustrate their use. Key words: Skeletons, 2D and 3D Medial Sets, Eikonal Equation, Variational Principles, Average Outward Flux.