Scaling model without all segment lengths

I would like to scale the SpineRightArm model to match subject
anthropometry and have a couple questions. The anthropometric measures
I have are height, weight, upper arm length, forearm length, and hand
length, as well as gender. As I have found in other discussions,
ScalingLengthMassFat.any would be the best option, along with
AnyAnne.any and AnyMan.any for female and male subjects, respectively.
Here are my questions:

  1. I know that segment lengths can be specified in the
    ScalingLengthMassFat.any file. But what if I do not have all of those
    measures, namely TrunkHeight and HeadHeight? How will this affect the
    model if I am only interested in the shoulder? Or, should I just input
    the height and weight, and not worry about the segment lengths?

  2. If I were to use the segment lengths, how are the lengths defined?
    Is UpperArmLength measured from the lateral point on the acromion to
    the capitulum? Is the LowerArm length measured from the capitulum to
    the ulna styloid?

Thank you for your time,

Chris

Hi Chris

You are right about the ScalingLengthMassFat scaling rule, this is usually
the best option.

If you are only interested in the shoulder it is not all these properties
that are important, the head height for example is not. The TrunkHeight will
have some influence though, because lots of the shoulder muscles attach on
the spine, so its size should fit reasonably well.

If you look in the file brep/aalborg/Scaling/AnyFamily/AnyMan.any you will
find the segments lengths in the bottom of the file, as you can see these
are not linked to the bodyheight so it is not enough to change the height
you will also need to change the segment lengths.

The segment lengths are always measured from joint center to joint center in
the model.

I hope this helps you move on, otherwise please write again.

Best regards

Søren, AnyBody Suppport


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of chrisjgatti
Sent: 16 January 2008 23:05
To: anyscript@yahoogroups.com
Subject: [AnyScript] Scaling model without all segment lengths

I would like to scale the SpineRightArm model to match subject
anthropometry and have a couple questions. The anthropometric measures
I have are height, weight, upper arm length, forearm length, and hand
length, as well as gender. As I have found in other discussions,
ScalingLengthMassFat.any would be the best option, along with
AnyAnne.any and AnyMan.any for female and male subjects, respectively.
Here are my questions:

  1. I know that segment lengths can be specified in the
    ScalingLengthMassFat.any file. But what if I do not have all of those
    measures, namely TrunkHeight and HeadHeight? How will this affect the
    model if I am only interested in the shoulder? Or, should I just input
    the height and weight, and not worry about the segment lengths?

  2. If I were to use the segment lengths, how are the lengths defined?
    Is UpperArmLength measured from the lateral point on the acromion to
    the capitulum? Is the LowerArm length measured from the capitulum to
    the ulna styloid?

Thank you for your time,

Chris

[Non-text portions of this message have been removed]

Thanks Søren,

If bodyheight does not have and effect on the model (because the
segment lengths are scaled based on the ratio of the specific segment
lengths in AnyMan.any and those in StandardParameters.any), I would
just have specify the subject’s segment lengths and the subject’s
mass, correct?

Chris

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…> wrote:
>
> Hi Chris
>
>
>
> You are right about the ScalingLengthMassFat scaling rule, this is
usually
> the best option.
>
>
>
> If you are only interested in the shoulder it is not all these
properties
> that are important, the head height for example is not. The
TrunkHeight will
> have some influence though, because lots of the shoulder muscles
attach on
> the spine, so its size should fit reasonably well.
>
>
>
> If you look in the file brep/aalborg/Scaling/AnyFamily/AnyMan.any
you will
> find the segments lengths in the bottom of the file, as you can see
these
> are not linked to the bodyheight so it is not enough to change the
height
> you will also need to change the segment lengths.
>
>
>
> The segment lengths are always measured from joint center to joint
center in
> the model.
>
>
>
> I hope this helps you move on, otherwise please write again.
>
>
>
> Best regards
>
> Søren, AnyBody Suppport

Hi Chris

The BodyHeight is used for calculation of BMI this will have an effect on
the model in terms of muscles strength scaling as i recall it, I you are
using the ScalingLengthMassFat rule.

You are right about the segment length and masses, these needs also to be
specified.

Best regards

Søren


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of chrisjgatti
Sent: 17 January 2008 14:36
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: Scaling model without all segment lengths

Thanks Søren,

If bodyheight does not have and effect on the model (because the
segment lengths are scaled based on the ratio of the specific segment
lengths in AnyMan.any and those in StandardParameters.any), I would
just have specify the subject’s segment lengths and the subject’s
mass, correct?

Chris

— In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“AnyBody Support” <support@…> wrote:
>
> Hi Chris
>
>
>
> You are right about the ScalingLengthMassFat scaling rule, this is
usually
> the best option.
>
>
>
> If you are only interested in the shoulder it is not all these
properties
> that are important, the head height for example is not. The
TrunkHeight will
> have some influence though, because lots of the shoulder muscles
attach on
> the spine, so its size should fit reasonably well.
>
>
>
> If you look in the file brep/aalborg/Scaling/AnyFamily/AnyMan.any
you will
> find the segments lengths in the bottom of the file, as you can see
these
> are not linked to the bodyheight so it is not enough to change the
height
> you will also need to change the segment lengths.
>
>
>
> The segment lengths are always measured from joint center to joint
center in
> the model.
>
>
>
> I hope this helps you move on, otherwise please write again.
>
>
>
> Best regards
>
> Søren, AnyBody Suppport

[Non-text portions of this message have been removed]

Thanks again Søren,

One more quick question. I see that the segment lengths are scaled
based on the lengths in StandardParameters.any. What is the source of
these parameters? Thanks.

Chris

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…> wrote:
>
> Hi Chris
>
>
>
> The BodyHeight is used for calculation of BMI this will have an
effect on
> the model in terms of muscles strength scaling as i recall it, I you are
> using the ScalingLengthMassFat rule.
>
> You are right about the segment length and masses, these needs also
to be
> specified.
>
>
>
> Best regards
>
> Søren

Also, is this same source of the trunk nodes (C1HatNode and
L5SacrumJnt) in the Spine.StandardParameters.any?

— In anyscript@yahoogroups.com, “chrisjgatti” <cjgatti@…> wrote:
>
> Thanks again Søren,
>
> One more quick question. I see that the segment lengths are scaled
> based on the lengths in StandardParameters.any. What is the source of
> these parameters? Thanks.
>
> Chris
>
> — In anyscript@yahoogroups.com, “AnyBody Support” <support@> wrote:
> >
> > Hi Chris
> >
> >
> >
> > The BodyHeight is used for calculation of BMI this will have an
> effect on
> > the model in terms of muscles strength scaling as i recall it, I
you are
> > using the ScalingLengthMassFat rule.
> >
> > You are right about the segment length and masses, these needs also
> to be
> > specified.
> >
> >
> >
> > Best regards
> >
> > Søren
>

Hi Chris

The source of the standard parameters of for example C1HatNode is simply the
location of this node in a model with no scaling. Similarly the standard
length for the thigh is the distance from hip joint center to the knee joint
center in a non-scaled model. So these numbers are fixed numbers which are
used as a “baseline” for the scaling.

Best regards

Søren


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of chrisjgatti
Sent: 17 January 2008 16:55
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: Scaling model without all segment lengths

Also, is this same source of the trunk nodes (C1HatNode and
L5SacrumJnt) in the Spine.StandardParameters.any?

— In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“chrisjgatti” <cjgatti@…> wrote:
>
> Thanks again Søren,
>
> One more quick question. I see that the segment lengths are scaled
> based on the lengths in StandardParameters.any. What is the source of
> these parameters? Thanks.
>
> Chris
>
> — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“AnyBody Support” <support@> wrote:
> >
> > Hi Chris
> >
> >
> >
> > The BodyHeight is used for calculation of BMI this will have an
> effect on
> > the model in terms of muscles strength scaling as i recall it, I
you are
> > using the ScalingLengthMassFat rule.
> >
> > You are right about the segment length and masses, these needs also
> to be
> > specified.
> >
> >
> >
> > Best regards
> >
> > Søren
>

[Non-text portions of this message have been removed]

Søren,

I should have been more specific. I realize the standard parameters
are fixed to use as a baseline, but is there a literature source for
these? Are they representative of a 50th percentile male, for example?

Chris

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…> wrote:
>
> Hi Chris
>
>
>
> The source of the standard parameters of for example C1HatNode is
simply the
> location of this node in a model with no scaling. Similarly the standard
> length for the thigh is the distance from hip joint center to the
knee joint
> center in a non-scaled model. So these numbers are fixed numbers
which are
> used as a “baseline” for the scaling.
>
>
>
> Best regards
>
> Søren
>
>
>
> _____
>
> From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com]
On Behalf
> Of chrisjgatti
> Sent: 17 January 2008 16:55
> To: anyscript@yahoogroups.com
> Subject: [AnyScript] Re: Scaling model without all segment lengths
>
>
>
> Also, is this same source of the trunk nodes (C1HatNode and
> L5SacrumJnt) in the Spine.StandardParameters.any?
>
> — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
> “chrisjgatti” <cjgatti@> wrote:
> >
> > Thanks again Søren,
> >
> > One more quick question. I see that the segment lengths are scaled
> > based on the lengths in StandardParameters.any. What is the source of
> > these parameters? Thanks.
> >
> > Chris
> >

Bump for the previous questions…

In addition, I have two more questions too:

  1. I asked if the standard parameters such as overall height and
    segment heights were from a specific literature source. What is the
    source of the standard parameters (specifically segment lengths) of
    the spine (trunk height) and arm (humerus and forearm lengths)? And,
    what is the source of the segment lengths in AnyMan.any and AnyAnne.any?

  2. I have tried scaling a shoulder model using
    ScalingLengthMassFat.any and AnyMan.any, however when I run a
    kinematic analysis, I get muscle penetration errors. I understand that
    this is an effect of having different segment lengths, and have read
    that figuring out which muscle is problematic and moving via points
    may help. This doesn’t seem too robust. Is there another method to
    avoid getting this error. I am still running version 2.0 right now
    (soon upgrading to 3.0)…I don’t know if this makes a difference.

Thanks,

Chris

— In anyscript@yahoogroups.com, “chrisjgatti” <cjgatti@…> wrote:
>
> Søren,
>
> I should have been more specific. I realize the standard parameters
> are fixed to use as a baseline, but is there a literature source for
> these? Are they representative of a 50th percentile male, for example?
>
> Chris
>
> — In anyscript@yahoogroups.com, “AnyBody Support” <support@> wrote:
> >
> > Hi Chris
> >
> >
> >
> > The source of the standard parameters of for example C1HatNode is
> simply the
> > location of this node in a model with no scaling. Similarly the
standard
> > length for the thigh is the distance from hip joint center to the
> knee joint
> > center in a non-scaled model. So these numbers are fixed numbers
> which are
> > used as a “baseline” for the scaling.
> >
> >
> >
> > Best regards
> >
> > Søren
> >
> >
> >
> > _____
> >
> > From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com]
> On Behalf
> > Of chrisjgatti
> > Sent: 17 January 2008 16:55
> > To: anyscript@yahoogroups.com
> > Subject: [AnyScript] Re: Scaling model without all segment lengths
> >
> >
> >
> > Also, is this same source of the trunk nodes (C1HatNode and
> > L5SacrumJnt) in the Spine.StandardParameters.any?
> >
> > — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com>
ps.com,
> > “chrisjgatti” <cjgatti@> wrote:
> > >
> > > Thanks again Søren,
> > >
> > > One more quick question. I see that the segment lengths are scaled
> > > based on the lengths in StandardParameters.any. What is the
source of
> > > these parameters? Thanks.
> > >
> > > Chris
> > >
>

Hi Chris

Sorry about the delay in the replying

The bones are roughly representing a 50th percentile European male.

Basically the different body parts originate from different datasets
available in the scientific literature. There is not a whole lot out there
to choose from that has the necessary level of detail. We have tried to come
close to a 50th percentile male, but we basically could not allow ourselves
to be picky.

In the root files of each of the body parts there are a number of references
listed, which point to the different datasets used. When constructing a new
body part the bones were scaled to fit as closely as possible to the size of
the subject in the dataset.

I do not recall the source for the sizes used in AnyMan and AnyAnne. These
are just examples of input files which can be used for scaling the model.

Penetration errors are treated in the same way in ver. 2 and 3.

The penetration errors can occur at different times:

  1. They may happen at load time when the model is in its initial position,.
    If it is only in this position they occur they are not important it just
    means the initial posture creates penetration.

  2. They may occur when running inverse analysis of the model. This can be
    important.

There can be different reasons:

  1. If for example the arm is penetrating the thorax this may give a
    penetration warning. This is not an error related to the Brep model but
    related to the way the model is being used. Here the remedy is to change the
    drivers of the model.

  2. In principle all surfaces in the model used for wrapping have been made
    in a way that makes them scale with the model. When defining a cylinder it
    is typically defined using three nodes. These nodes control the size and
    location of the cylinder. If the bone is scaled these control nodes will
    also be scaled like any other node on the bone and consequently the cylinder
    will be scaled too, ellipsoids are made in a similar way. This setup does
    not guarantee that penetration errors will never occur. If the via point and
    the surface is located on the same bone and are very close, different types
    of scaling and sizes could potentially create penetration errors.

In general the remedy is to

  1. exclude all muscles from the model except the one causing the problem

  2. insert an AnyDrawParamSurface in the surface being penetrated to
    visualize it you can do this directly in the muscle. Typically by writing

Surf1={ AnyDrawParamSurf drw={}; }; //assuming a Surf1 reference is
existing!

  1. insert an AnyDrawRefFrame in the node which is penetrating

  2. try to understand the root of the problem if it is related to scaling or
    motion

  3. Do modifications on either model or motion to solve the problem

I hope this helps you move on

Best regards

Søren


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of chrisjgatti
Sent: 23 January 2008 15:31
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: Scaling model without all segment lengths

Bump for the previous questions…

In addition, I have two more questions too:

  1. I asked if the standard parameters such as overall height and
    segment heights were from a specific literature source. What is the
    source of the standard parameters (specifically segment lengths) of
    the spine (trunk height) and arm (humerus and forearm lengths)? And,
    what is the source of the segment lengths in AnyMan.any and AnyAnne.any?

  2. I have tried scaling a shoulder model using
    ScalingLengthMassFat.any and AnyMan.any, however when I run a
    kinematic analysis, I get muscle penetration errors. I understand that
    this is an effect of having different segment lengths, and have read
    that figuring out which muscle is problematic and moving via points
    may help. This doesn’t seem too robust. Is there another method to
    avoid getting this error. I am still running version 2.0 right now
    (soon upgrading to 3.0)…I don’t know if this makes a difference.

Thanks,

Chris

— In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“chrisjgatti” <cjgatti@…> wrote:
>
> Søren,
>
> I should have been more specific. I realize the standard parameters
> are fixed to use as a baseline, but is there a literature source for
> these? Are they representative of a 50th percentile male, for example?
>
> Chris
>
> — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“AnyBody Support” <support@> wrote:
> >
> > Hi Chris
> >
> >
> >
> > The source of the standard parameters of for example C1HatNode is
> simply the
> > location of this node in a model with no scaling. Similarly the
standard
> > length for the thigh is the distance from hip joint center to the
> knee joint
> > center in a non-scaled model. So these numbers are fixed numbers
> which are
> > used as a “baseline” for the scaling.
> >
> >
> >
> > Best regards
> >
> > Søren
> >
> >
> >
> > _____
> >
> > From: anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com
[mailto:anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com]
> On Behalf
> > Of chrisjgatti
> > Sent: 17 January 2008 16:55
> > To: anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com
> > Subject: [AnyScript] Re: Scaling model without all segment lengths
> >
> >
> >
> > Also, is this same source of the trunk nodes (C1HatNode and
> > L5SacrumJnt) in the Spine.StandardParameters.any?
> >
> > — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com>
ps.com,
> > “chrisjgatti” <cjgatti@> wrote:
> > >
> > > Thanks again Søren,
> > >
> > > One more quick question. I see that the segment lengths are scaled
> > > based on the lengths in StandardParameters.any. What is the
source of
> > > these parameters? Thanks.
> > >
> > > Chris
> > >
>

[Non-text portions of this message have been removed]

Thanks Søren,

With regards to the segment lengths, I assume all those listed in
StandardParameters are roughly a 50th percentile European male then?

Specifically, I am concerned about the StandardParameters trunk length
from C1HatNode and L5SacrumJnt in the Spine.StandardParameters.any.
There is no listed source for this and I am interested in the height
of the subject from which this trunk length was obtained? For lack of
a better scaling method and to obtain a trunk length that can be used
as an input to the model, I would like to use the ratio between the
StandardParameters trunk length and the height of the model to
estimate of our subject’s trunk length to be used with the model. I
see that, when using ScalingLengthMassFat,
BRep\Aalborg\BodyModels\Include\BodyParameters.any lists the height as
1.8m; can you confirm this is the height of the model (I can’t seem to
find any other whole body height)?

Also, thanks for the info on the penetration error.

Chris

Hi Chris

Yes you are right about the segment lengths in the StandardParameters.any
file, these roughly represents the 50% percentile male.

If you are using an un-scaled model the total body height is about 1.8m. You
can test this by taking the StandingModel and insert a node on the top of
the head and read out the “r” value of this node, when doing this check
please verify in the environment file that origo is located in {0,0,0,}, it
might not be the case. So this is the bodyheight you should be using for
your scaling.

I do not know if any of the used references for the trunk will list a useful
body height, I am not so familiar with this topic; but my guess is that this
will not be the case. So I think the best option is to use the 1.8m.

Best regards

Søren


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of chrisjgatti
Sent: 29 January 2008 14:00
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: Scaling model without all segment lengths

Thanks Søren,

With regards to the segment lengths, I assume all those listed in
StandardParameters are roughly a 50th percentile European male then?

Specifically, I am concerned about the StandardParameters trunk length
from C1HatNode and L5SacrumJnt in the Spine.StandardParameters.any.
There is no listed source for this and I am interested in the height
of the subject from which this trunk length was obtained? For lack of
a better scaling method and to obtain a trunk length that can be used
as an input to the model, I would like to use the ratio between the
StandardParameters trunk length and the height of the model to
estimate of our subject’s trunk length to be used with the model. I
see that, when using ScalingLengthMassFat,
BRep\Aalborg\BodyModels\Include\BodyParameters.any lists the height as
1.8m; can you confirm this is the height of the model (I can’t seem to
find any other whole body height)?

Also, thanks for the info on the penetration error.

Chris

[Non-text portions of this message have been removed]

Great help. Thanks Søren.

Chris

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…> wrote:
>
> Hi Chris
>
>
>
> Yes you are right about the segment lengths in the
StandardParameters.any
> file, these roughly represents the 50% percentile male.
>
>
>
> If you are using an un-scaled model the total body height is about
1.8m. You
> can test this by taking the StandingModel and insert a node on the
top of
> the head and read out the “r” value of this node, when doing this check
> please verify in the environment file that origo is located in
{0,0,0,}, it
> might not be the case. So this is the bodyheight you should be using for
> your scaling.
>
>
>
> I do not know if any of the used references for the trunk will list
a useful
> body height, I am not so familiar with this topic; but my guess is
that this
> will not be the case. So I think the best option is to use the 1.8m.
>
>
>
> Best regards
>
> Søren
>
>
>
>
>
>
>
> _____
>
> From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com]
On Behalf
> Of chrisjgatti
> Sent: 29 January 2008 14:00
> To: anyscript@yahoogroups.com
> Subject: [AnyScript] Re: Scaling model without all segment lengths
>
>
>
> Thanks Søren,
>
> With regards to the segment lengths, I assume all those listed in
> StandardParameters are roughly a 50th percentile European male then?
>
> Specifically, I am concerned about the StandardParameters trunk length
> from C1HatNode and L5SacrumJnt in the Spine.StandardParameters.any.
> There is no listed source for this and I am interested in the height
> of the subject from which this trunk length was obtained? For lack of
> a better scaling method and to obtain a trunk length that can be used
> as an input to the model, I would like to use the ratio between the
> StandardParameters trunk length and the height of the model to
> estimate of our subject’s trunk length to be used with the model. I
> see that, when using ScalingLengthMassFat,
> BRep\Aalborg\BodyModels\Include\BodyParameters.any lists the height as
> 1.8m; can you confirm this is the height of the model (I can’t seem to
> find any other whole body height)?
>
> Also, thanks for the info on the penetration error.
>
> Chris
>
>
>
>
>
> [Non-text portions of this message have been removed]
>

I’ve been looking at the penetration error problem…

> 1. They may happen at load time when the model is in its initial
> position. If it is only in this position they occur they are not
> important it just means the initial posture creates penetration.
>
> 2. They may occur when running inverse analysis of the model. This
> can be important.

The penetration errors do not occur when the model is loaded in its
initial position, however they do occur when running an analysis. And,
they occur when I scale the model for only some subjects (more often
than not, while using AnyAnne.any rather than AnyMan.any). I am just
running a kinematic analysis to compute moment arms for a static
posture right now, but I will be looking using the inverse dynamics
analysis later on, still in a static posture.

> There can be different reasons:
>
> 1. If for example the arm is penetrating the thorax this may give a
> penetration warning. This is not an error related to the Brep model
> but related to the way the model is being used. Here the remedy is
> to change the drivers of the model.
>
> 2. In principle all surfaces in the model used for wrapping have
> been made in a way that makes them scale with the model. When
> defining a cylinder it is typically defined using three nodes. These
> nodes control the size and location of the cylinder. If the bone is
> scaled these control nodes will also be scaled like any other node
> on the bone and consequently the cylinder will be scaled too,
> ellipsoids are made in a similar way. This setup does not guarantee
> that penetration errors will never occur. If the via point and
> the surface is located on the same bone and are very close,
> different types of scaling and sizes could potentially create
> penetration errors.

I believe the penetration errors are due to case #2, where the
insertion points are penetrating the wrapping surfaces.

> In general the remedy is to
>
> 1. exclude all muscles from the model except the one causing the
> problem
>
> 2. insert an AnyDrawParamSurface in the surface being penetrated to
> visualize it you can do this directly in the muscle. Typically by
> writing
>
> Surf1={ AnyDrawParamSurf drw={}; }; //assuming a Surf1 reference
> is existing!
>
> 3. insert an AnyDrawRefFrame in the node which is penetrating
>
> 4. try to understand the root of the problem if it is related to
> scaling or motion
>
> 5. Do modifications on either model or motion to solve the problem.

I followed this for a couple of the muscles and it seems that
insertion points are very close to the surface of the wrapping surface
(from what I can tell visually). Considering I am analyzing a static
posture, I guess the model has to be modified. But, if the insertion
point is very close to the wrapping surface, does the model really
need to be modified? If so, what type of modification is suggested?
Moving nodes seems a little subjective.

Thanks,

Chris

Hi Chris

I think the best you can do it to move the points a bit further away from
the surfaces, this may prevent this from happening.

If the translation is small it may not make a large difference, sometimes
there are no way around such modifications, even if they are subjective.

Best regards

Søren


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of chrisjgatti
Sent: 13 February 2008 20:00
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: Scaling model without all segment lengths

I’ve been looking at the penetration error problem…

> 1. They may happen at load time when the model is in its initial
> position. If it is only in this position they occur they are not
> important it just means the initial posture creates penetration.
>
> 2. They may occur when running inverse analysis of the model. This
> can be important.

The penetration errors do not occur when the model is loaded in its
initial position, however they do occur when running an analysis. And,
they occur when I scale the model for only some subjects (more often
than not, while using AnyAnne.any rather than AnyMan.any). I am just
running a kinematic analysis to compute moment arms for a static
posture right now, but I will be looking using the inverse dynamics
analysis later on, still in a static posture.

> There can be different reasons:
>
> 1. If for example the arm is penetrating the thorax this may give a
> penetration warning. This is not an error related to the Brep model
> but related to the way the model is being used. Here the remedy is
> to change the drivers of the model.
>
> 2. In principle all surfaces in the model used for wrapping have
> been made in a way that makes them scale with the model. When
> defining a cylinder it is typically defined using three nodes. These
> nodes control the size and location of the cylinder. If the bone is
> scaled these control nodes will also be scaled like any other node
> on the bone and consequently the cylinder will be scaled too,
> ellipsoids are made in a similar way. This setup does not guarantee
> that penetration errors will never occur. If the via point and
> the surface is located on the same bone and are very close,
> different types of scaling and sizes could potentially create
> penetration errors.

I believe the penetration errors are due to case #2, where the
insertion points are penetrating the wrapping surfaces.

> In general the remedy is to
>
> 1. exclude all muscles from the model except the one causing the
> problem
>
> 2. insert an AnyDrawParamSurface in the surface being penetrated to
> visualize it you can do this directly in the muscle. Typically by
> writing
>
> Surf1={ AnyDrawParamSurf drw={}; }; //assuming a Surf1 reference
> is existing!
>
> 3. insert an AnyDrawRefFrame in the node which is penetrating
>
> 4. try to understand the root of the problem if it is related to
> scaling or motion
>
> 5. Do modifications on either model or motion to solve the problem.

I followed this for a couple of the muscles and it seems that
insertion points are very close to the surface of the wrapping surface
(from what I can tell visually). Considering I am analyzing a static
posture, I guess the model has to be modified. But, if the insertion
point is very close to the wrapping surface, does the model really
need to be modified? If so, what type of modification is suggested?
Moving nodes seems a little subjective.

Thanks,

Chris

[Non-text portions of this message have been removed]