As mentioned in the introduction, the model repository contains many applications in the Examples folder. A few of these aregeneric in nature and can serve dual purposes: Either they can be used as they are or with minor modifications or they can be modified and become models of something else. The Standing Model is one of these general applications, and we shall use it here by virtue of its first ability, i.e. pretty much as it is.
The standing model can be found in the repository under Applications/Examples. The model comprises most of the available body parts in the library. The main file is called StandingModel.Main.any, and this is the one you must load.
You can open the file with the File->Open menu in AnyBody or by Windows Explorer, but can also you access the more popular demofiles through the Demo tab of the AnyBody Assistant dialog box. After installing the demo models as described in the introduction, the Demo tab will contain links to the more popular example models, including the Standing Model.
The standing model has a few predefined features and some that you can modify. Here is a short list:
- The model is supported by having both its feet connected to ground. The feet can move with the posture, but they are always supported by the connection with the floor.
- The posture of the model is controlled via anatomical angles for all major joints except the ankles. The model has a place where these joint angles can be specified directly. We shall return to this topic shortly.
- The model automatically balances its posture by means of the ankle angles such that its collective center of mass remains vertically above the ankle joints. For instance, if the model extends the arms in front of it, then the ankles will adjust and move the entire model slightly backwards to maintain the balance.
- The model has a set of predefined points to which can be applied three-dimensional external forces simply defined as spatial vectors. When doing so, the muscles of the model will be recruited to balance the external forces. However, the ankle angles do not adjust in response to the external forces, so it is possible to apply an external force large enough to require tension between the feet and the floor. Because of the grounding condition of the feet such a tension will be provided by the model but the situation may not be realistic because real feet rarely stick to the ground.
It is time to load the model. You do this by pressing
the Load Model button
in the editor window
toolbar or the load model button in the mainframe
toolbar:
Reload is a frequent operation for AnyBody users, so the same function has been assigned to function key F7.
After loading is completed, the menu selections Window -> Model View (new) should produce the following result:
The icons in the toolbar at the top of the Model View window allow you to modify the image, zoom, pan, rotate, etc. They should bemostly selfexplanatory. Now is a good time to play a bit around with them and familiarize yourself with the options.
By now you have probably noticed that you can pan, zoom and rotate the model by selecting the appropriate button on the toolbar. In practical use of the system it is often necessary to change quickly between these functions, so keyboard shortcuts have been provided:
- The Ctrl button activates the Pan function.
- The Shift button activates the Zoom function.
- The Ctrl-Shift combination activates the rotation function.
- If you have a scrolling wheel on your mouse, this will zoom the model in and out.
Depending on the speed of your computer and especially the speed of your graphics card you may experience some delay when you change rotate and pan the model. This is due to the high level of detail of the model and this delay also applies to other operations you may want to perform. Therefore, it is advantageous to switch off the muscles as long as we are trying to get the model to do what we want. When it is working correctly we can just switch the muscles back on.
Please go to the editor window and scroll down a little until you get to this place:
// Select the body model:
// ----------------------
// This file contains a list of all body parts, select them to create
// the body model wanted.
#include "BodyPartsSetup.any"
Please double-click the include line. It opens up the BodyPartsSetup file in which you can select which body parts to include and their muscle options. The file contains segments for each body part, for instance:
// RightArm: 1 included, 0 not included
// ************************************
#define RIGHT_ARM 1
//This is the basic model, following additions available
#define RIGHT_DETAILLED_HAND 0
#define RIGHT_SHOULDER_RHYTHM 0
// This is just the bones,
// Choose one of the following options to add muscles
#define RIGHT_ARM_SIMPLE_MUSCLE 1
#define RIGHT_ARM_SIMPLE_MUSCLE_ONLY_ON_NECK 0
#define RIGHT_ARM_MUS_3E 0
In these definitions, a 0 at the end of a line means that the option is not selected, while a 1 means that it is selected. In the block above, the right arm is included in the model in a version with a simple hand and no shoulder rhythm, and it is equipped with simple muscles. If you make the following change (marked with red)
// RightArm: 1 included, 0 not included
// ************************************
#define RIGHT_ARM 1
//This is the basic model, following additions available
#define RIGHT_DETAILLED_HAND 0
#define RIGHT_SHOULDER_RHYTHM 0
// This is just the bones,
// Choose one of the following options to add muscles
#define RIGHT_ARM_SIMPLE_MUSCLE $0$
#define RIGHT_ARM_SIMPLE_MUSCLE_ONLY_ON_NECK 0
#define RIGHT_ARM_MUS_3E 0
then muscles will be excluded from the right arm. The StandingModel shares this method of setting up the body model with many of the other examples in the repository.
Please go ahead and set the SIMPLE_MUSCLE option to zero for all the body parts. Then press F7 to reload the model. This time, the reload should be much faster than the first time, and the model view window should update to showing the skeleton without muscles.
This enables us to proceed to Lesson 2: Controlling the posture .
