User Tools

Site Tools


visual3d:documentation:modeling:segments:segment_overview

Segment Overview

A Visual3D model consists of a set of rigid segments, each of which corresponds to a body segment (major bone structure) of the subject whose motion is under study. We use the terms model segment and body segment when it is necessary to distinguish between the conceptual/mathematical segments of a Visual3D model and the corresponding physical body segments of the subject. Most of the time, we will simply say ”segment” when the distinction is clear from context.

The instantaneous position and orientation of all a segment is called the pose of the segment. The central function of Visual3D is translation of the target-marker positions (as reported by the motion-tracking apparatus) into the pose of the corresponding model. Two factors complicate this process:

  1. The motion-tracking apparatus does not track segments; it tracks target markers attached to various chosen points on or near the subject’s body.
  2. Segments are defined by (among other things) their proximal and distal end points, which are located inside the body, but target markers can generally only be placed outside the body.

To deal with the first complication, Visual3D makes use of the notion of segment-relative coordinate systems (usually simply called the segment coordinate systems or SCS). The idea is that although the motion-tracking apparatus reports marker positions by their laboratory or LCS coordinates, and in general all markers are moving, it can safely be assumed that the target markers move with the body segments to which they are attached, i.e., each target’s coordinates in the appropriate SCS do not change throughout the movement. Provided at least three target markers, not positioned in a line, are tracked for each body segment, Visual3D will have enough information to determine the model pose.

To deal with the second complication, Visual3D allows you to define the precise spatial relationships between each segment’s proximal and distal endpoints and the positions of target markers. This process is normally facilitated by capturing the position of extra calibration markers placed at points which, though not suitable for use in motion tracking, provide clear information about the location of joint centers within the body. Note that the choice of where and how to place target markers is itself a significant subject.

The illustration below shows what you might see when defining just one segment: the right thigh. The graphic image, which is zoomed in to the right thigh region, reveals three calibration markers (yellow) which are used to define the thigh segment’s endpoints and dimensions. At the proximal (upper) end, the RHP (right hip) marker’s position is used together with an explicit radius of 0.081m (measured in the laboratory for this subject) to define the proximal endpoint. At the distal end, both medial and lateral knee markers (RMK, RLK) are available, and together define both the distal endpoint and the distal radius of the thigh segment. For mass- and moment-related computations, this segment is modeled as a truncated cone (this is one of many details you provide under the Segment Properties tab) and so both proximal and distal radii are needed.

Segments

The Visual3D model-building tool uses standard medical terminology to define the locations and configurations of segments. As a general modelling tool, Visual3D allows for the creation of any rigid segment. Visual3D contains a number of default segment names that are provided for the convenience of the user. These default segments contain geometry, the inertial properties, and the wire frame model. Users that create their own segment names need to add this information in the segment properties tab in Model Builder Mode. Visual3D also creates joint names automatically for the default segments.

Segment Coordinate Systems

Every segment in a model has its own coordinate system that Visual3D defines according to a reliable set of rules. Briefly, given the distal and proximal end of a segment Visual3D will:

  1. define the anatomical (or frontal) plane
  2. identify the joint centres that lie on the anatomical plane
  3. align the inferior/superior axis of the segment's coordinate system between joint centres (with the inferior/superior axis lying along the anatomical plane).

A complete overview of segment definition can be found here. Segments can be defined in multiple different ways, with the user able to choose based on available markers and preference.

Segment Properties

The segment properties include the segment's inertial properties as well as its decorations.

Property Description
Segment Mass The default values used in Visual3D are based on Dempster's regression equations.
Segment Geometry Visual3D models segments as cones, cylinders, spheres, and ellipsoids.
Segment Volume Visual3D doesn't compute the volume of a segment based on these geometries, but the calculations are straightforward.
Segment Inertia By default the moment of inertia of a segment is computed from the segment mass, the proximal and distal radii, and the segment geometry, according to Hanavan's 1964 technical report A Mathematical Model for the Human Body. 1)
Animation Surface Models A surface mesh can be associated with each segment.

Virtual Segments

Kinematic-only segments are also called virtual segments. The defining criterion for distinguishing a virtual segment from other segments in Visual3D is that these segments do not get included in the Inverse Dynamics calculations. These segments can not be assigned external forces and will not have joints created at their proximal end points.

Shadow Segments

Virtual segments provide a convenient way to include multiple definitions for a segment within a single model, but these multiple definitions do not easily allow for external constraints (like an Inverse Kinematic chain) to be applied consistently across all segment definitions. For example, if a Virtual Segment is defined with relation to a segment and then an Inverse Kinematics constraint is applied to the original segment, the changes in the original segment's pose estimation do not propagate to the Virtual Segment.

Shadow segments resolve this issue by allowing that segment's pose to be defined as a transformation of the original segment's pose estimation. Users can use the Expression function Pose_4x4 when defining their own shadow segments.

Shadow segments were introduced in Visual3D with v2023.11.1. As of v2024.05.1, Visual3D adds shadow segments for the thorax and feet in the automatic models built from Theia3D and XSens data.

Segment Definitions

There are many ways to define the segments of the human body in Visual3D. The definitions and comments provided below are intended to get you thinking about the variety of definitions available. They should be thought of as a starting point for your own analysis and not iron-clad rules.

Pelvis

There are many ways to define a segment in Visual3D, which means there are many ways to define the Pelvis segment.

Model Name Description
Visual3D Pelvis The Visual3D pelvis refers to a pelvis segment defined as a default Visual3D segments. Markers on the Iliac Crest specify the proximal end of the segment. Markers on the Greater Trochanter specify the distal end of the segment. The length of the Pelvis segment is defined as the distance from the proximal end to the distal end.
CODA Pelvis The CODA pelvis refers to a pelvis segment model used by Charnwood Dynamics that they requested that we implement. The pelvis segment is defined using the anatomical locations of the ASIS (Anterior Superior Iliac Spine) and the PSIS (Posterior Superior Iliac Spine). These landmarks are bony protuberances on the Pelvis bones that can be palpated on most (but not all) subjects.
Helen Hayes (Davis) Pelvis The Helen Hayes pelvis refers to a model defined by Davis et. at. (1991) and used by many manufacturers, including the VCM model by Vicon. The pelvis segment is defined using the anatomical locations of the ASIS (Anterior Superior Iliac Spine) and the midpoint between the PSIS (Posterior Superior Iliac Spine) commonly referred to as the Sacrum marker. These landmarks are bony protuberances on the Pelvis bones that can be palpated on most (but not all) subjects.
Visual3D Composite Pelvis The Visual3D Composite Pelvis has a local coordinate system that is aligned with many of the traditional pelvis definitions (CODA, Helen Hayes, Plugin-Gait), but the origin of the segment is in the middle of the body, which is more representative of the inertial properties.

NOTE: the segment coordinate system for the CODA pelvis is the mid-point between the ASIS markers. The anatomical landmarks are actually posterior to the ASIS markers because the motion capture system tracks the center of the marker. This is a modest error, but it can be corrected by creating landmarks that are posterior to the ASIS markers by the radius of the motion capture marker.

Hip Joint Landmarks

Regression equations have been estimated for calculating the position of common hip joint landmarks relative to the pelvis segment coordinate system.

Pelvis Animation Models (obj, v3g, wrl)

There are two common obj files used to animate the bones of the pelvis.

Normalizing the Pelvis Angle

The CODA and Helen Hayes pelvis models are tilted forward approximately 20 degrees from the horizontal. In describing the orientation of the pelvis or for describing the hip joint angle, it is often convenient to define a pelvis angle that has a coronal plane parallel to the floor, e.g. a vertical segment with zero tilt.

A demonstration of this is provided in our example of normalizing the pelvis segment angle.

Thigh

There are several approaches to create a thigh segment in Visual3D, a few are outlined below.

Approach Description
Using the Greater Trochanter A thigh can be defined using the greater trochanter as the proximal-lateral marker.
Using Hip Joint Landmarks A thigh segment can be constructed based on hip joint landmarks and medial/lateral knee markers. See also this example.
Using the Knee Alignment Device A thigh can be modelled using the Knee Alignment Device (KAD) manufactured by Motion Lab Systems. This approach uses the KAD to assist in defining the front plane of the thigh segment.

Shank

When modelling the shank it is possible to encounter difficulties related to tibial torsion. This can be accomodated by defining two shank segments:

  1. one to calculate the knee joint angles; and
  2. the other to calculate the ankle joint angles.

There are several approaches to creating segments at the foot.

Model Description
Oxford Foot Our interpretation of the Oxford foot model implemented in Vicon Nexus.
IOR Foot How to create the multi-segment IOR foot model.
OrthoTrack Foot OrthoTrack's foot model.

The Foot and Ankle Angles tutorial discusses general considerations for creating segments at the foot and computing associated joint angles. Several examples are shown, including:

  1. kinetic foot;
  2. heel-toe;
  3. normalized to the proximal segment; and
  4. using projected landmarks.

Skeleton doesn't look right?

I am guessing that you are estimating where the surface of the force platform should be based on the wire frame bones of the foot segment; you shouldn’t rely on the bones. The bones are defined relative to the segment coordinate system and scaled uniformly in all directions to the length of the segment.

For segment coordinate systems that are collinear with the long axis of the segment, the scaling works quite well. For the foot, however, the segment coordinate system is usually defined from the mid point of the ankle markers to the mid point of the distal metatarsals. As the length of the segment changes the orientation of the foot model will change, so that the model looks good for some subjects and not good for other subjects. The wireframe model is not data, so you can modify the orientation of the wire frame model, so that the animation “looks better” without affecting the data.

Trunk

The torso presents a challenge for modelling because of the choice in defining which end is considered proximal and which end is considered distal. It is straightforward to decide that the feet are distal to the pelvis and the hands are distal to the pelvis. The trunk is less clear. In order to have a “joint” created at the shoulders it is necessary to define the trunk to have the proximal end at the pelvis and the distal end at the shoulders.

The Modelling the Trunk example suggests some solutions to these difficulties depending on the question being asked.

Upper Arm

Defining the segment coordinate system for the humerus is particularly difficult because there are no bony landmarks to assist in determining the glenohumeral joint center, and medial and lateral markers on the epicondyles are close together and often do not represent the axis of rotation of the elbow. The Upper Arm and Forearm example provides a personal opinion on how to model the upper arm and related shoulder joint.

Forearm

There are several challenges to defining the Forearm segment coordinate system because the Forearm is treated as a rigid segment model; supination/pronation of the forearm sometimes causes the segment coordinate system to be quite strange. The Upper Arm And Forearm examples lays out recommendations for a static standing pose (anatomical position) and a recommendation if the static pose is the T-pose.

Examples

  1. Rotating a segment coordinate system about its long axis (under construction)
1)
Hanavan E. (1964) A Mathematical Model for the Human Body. Technical Report, Wright-Patterson Air Force Base.
visual3d/documentation/modeling/segments/segment_overview.txt · Last modified: 2025/05/16 13:03 by wikisysop