Table of Contents
Joint
The term “joint” is used periodically throughout Visual3D, and has several different meanings. This tutorial focuses on a joint that connects two kinetic segments.
In 6 DOF tracking there is no explicit linkage (or joint) connecting the segments. Visual3D explores the collection of segments and considers any two segments in proximity (the distal end of one segment and the proximal end of another segment within the radius of the segment ends) to be “linked” and references a Joint between them. The Joint does not constrain the segments, but is rather a bookkeeping tool that keeps track of which segments are assumed to have an equal and opposite Joint Reaction Force acting between their endpoints and an equal and opposite Joint Moments acting on the adjacent segments.
The most typical example of a joint would be in gait, the GRF is applied to the foot segment, and because there is a joint at the ankle, the force is applied from the foot segment to the shank segment.
How is a joint created
A joint is created by:
- Distance Between the Segments. Calculated as the distance between the proximal end of a segment and the distal end of a segment (e.g., for the ankle joint this is the distance between the distal end of the shank and the proximal end of the foot).
- Largest Radius. This is the larger of the two relevant segment radii, e.g. for the ankle joint the proximal end radius of the foot and the distal end radius of the shank.
- Joint Radius Ratio. As of Visual3D v6, the Joint_Radius_Ratio is a Model Metric. Its default value is 1.1, but this can be modified using an expression.
- If the Distance Between the Segments is less than the Largest Radius multiplied by the Joint Radius Ratio, then Visual3D creates a joint between the two segments.
Essentially, a joint is created if the proximal and distal ends of two segments are “close enough” to each other.
Default Joint Names
Visual3D creates joint names automatically for the default segments, which 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. If a default name doesn't exist for a segment you have created then Visual3D, for the purpose of creating model based items, specifies the joint name as “segmentName_JOINT”.
The calculation of Joint Moment, Joint Power, and Joint Force refer to the proximal end of the segment selected. For convenience we have mapped segment names to joint names automatically because we assumed that users would find it more intuitive.
| Visual3D Segment Name | Anatomical Segment | Joint Name | Anatomical Joint |
|---|---|---|---|
| RFT | Right Foot | RANKLE | Right Ankle |
| RSK | Right Shank | RKNEE | Right Knee |
| RTH | Right Thigh | RHIP | Right Hip |
| LFT | Left Foot | LANKLE | Left Ankle |
| LSK | Left Shank | LKNEE | Left Knee |
| LTH | Left Thigh | LIHP | Left Hip |
| RPV | Pelvis | WAIST | Waist |
| RTK | Trunk and Pelvis | RWAIST | Waist |
| RTA | Thorax and Abdomen | RWAIST | Waist |
| RHE | Head | NECK | Neck |
| RAR | Right Upper Arm | RSHOULDER | Right Shoulder |
| RFA | Right Forearm | RELBOW | Right Elbow |
| RHA | Right Hand | RWRIST | Right Wrist |
| LAR | Left Upper Arm | LSHOULDER | Left Shoulder |
| LFA | Left Forearm | LELBOW | Left Elbow |
| LHA | Left Hand | LWRIST | Left Wrist |
How to visually check for joints
If you have a model template applied to a static trial, then joints will appear in the 3D viewer of the model's tab as yellow spheres.
| |
| Joints are illustrated using yellow spheres in the Model Builder mode's 3D viewer. | If the joints are hard to see, try hiding the bones from the 3D view. |
If you do not see joints, make sure that you have the option to see joints on by right-clicking in the 3D viewer and selecting View Joints. You can also change the size of the spheres by going to Settings → Modify Scale of 3D Graphics Objects, and changing the Joint Size option.
Example: Hip Joint
This is a walkthrough of Visual3D applying its rule for deciding when to form a hip joint during calibration.
- Visual3D takes the proximal end of the thigh location.
- Visual3D then searches all of the other segments and finds their distal end location.
- Visual3D then finds which segment's distal end is closest to the proximal end of the thigh. This is the neighbouring segment. (This is almost always the distal end of the pelvis.)
- Visual3D then look at looks at the radius of the proximal end of the thigh and the distal end of the neighbouring (pelvis) segment and chooses the larger value between the two radii.
- Visual3D then computes the distance between the proximal end of the thigh and the distal end of the neighbouring (pelvis) segment.
- If the value in step 5 (distance between the segment ends) is less then 1.1 times the value in Step 4 (the larger radius), then a joint is formed. If the segment ends are separated by more then 1.1 times the larger radius no joint is formed.
- Note, as of Visual3D v6 the Joint_Radius_Ratio is defined as a Model Metric with a default value of 1.1. This can be modified by the user via an expression.


