A Matlab implementation of Hatze's 1980 anthropometric body segment parameter model

View the Project on GitHub

A Matlab implementation of Hatze’s 1980 anthropometric body segment parameter model

Biomechanics simulations often require accurate models of parameters such as mass, moment of inertia, etc., for individual body segments of an individual. H. Hatze published an anthropometric model of the human body in 1979/1980 to estimate these body segment parameters. His model was composed of 17 body segments with varying cross-section and density. It accurately models the masses, centroids, moments of inertia, products of inertia (where applicable), and principle axes (where applicable) for these body segments using a total of 242 anthropometric measurements of an individual. It is the most detailed such model developed, but is little used in the research community due to the large number of measurements required and the mathematical complexity involved in using those measurements.

The code herein replicates (or will) Hatze’s model in Matlab, providing a public implementation of his model for the first time. We hope that this will increase the viability of using his model.

Code layout

The code in the master branch is currently at a state which can draw all of the geometry of a set of measurements (see person_plot.m) and intertwined are many of the calculations required to obtain volume, mass, moment of inertia, etc. These calculations can be interpolated in the cases of the limbs (see MODSIM 2013 paper) to achieve better accuracy especially in the cases with fewer measurements. Many other calculations, however are still incomplete or, worse, incorrect; this shall hopefully be rectified in the coming weeks (time of writing Sept 2013).

Since submission of the MODSIM paper, changes have been made to allow joint angles to be reflected in the visual output. This functionality is still half-baked, however; tweaking the drawing functions to display correctly at arbitrary orientations is still ongoing.


Miscellaneous functions


And of course:

Authors and copyright

This work is freely distributed under the terms and conditions of the Apache Licence, v2: http://www.apache.org/licenses/LICENSE-2.0

Jianan (Tony) Wang transcribed many of Hatze’s equations for this work and wrote initial code to do some of the plotting. Will Robertson wrote most of the code relating to the graphics objects and structured the program into its current form.