orientation

Hi,

please how can I change the orientation of a segment without changing its axes?
because I want the axes of the segment to stay same as the global coordinate system, but I want the segment (especially human body parts from the repository) to face another directions.

lets say the body is facing the +X global system, and I want the body to face -X global and keeping the local X in the +X global.

thanks,

Hi,

It is possible but it is a very huge task. You would have to re-edit the coordinates of all the nodes in the body, probably modify all the joint orientations, wrapping surfaces, etc.
So i would not recomend it.

Depnding on your need, maybe defining a new node in each segment with the desired orientation would be enough. This is very easy to do.

Best regards, Sylvain.

Hi Sylvain,

yes I agree… actually, I have another question.

lets say the axes for a certain node (for the foot segment) taken from the system was
{{0.8006758, 0.3454292, 0.4894864}, {-0.3777097, 0.925258, -0.03511455}, {-0.4650308, -0.1567684, 0.8713036}}

and another node for a different segment has the same orientation as the global {{1,0,0},{0,1,0},{0,0,1}}

how can I re-orient the first coordinate into the global one, in other words, what is the transformation method (algorithm) to change from a coordinate system into another?

thanks a lot.

Regards,
Zayd

Hi Zyad,

Please have a look at this small script i think it does what you need

 Main = {
   
   // The actual body model goes in this folder
   AnyFolder MyModel = {
     
     // Global Reference Frame
     AnyFixedRefFrame GlobalRef = {
       
       AnyRefNode node={
         sRel={0,0,0};  
         AnyDrawRefFrame drw={RGB={0,1,0};};
       };
       
     };  // Global reference frame
     
     // Global Reference Frame
     AnyFixedRefFrame GlobalRef2 = {
       Axes=RotMat(0.3*pi,x)*RotMat(0.4*pi,y)*RotMat(0.6*pi,z);
       AnyRefNode node={
         sRel={0,0,0};  
         AnyDrawRefFrame drw={RGB={1,0,0};};
       };
       AnyRefNode node1={
         sRel={0.5,0,0};  
         ARel=..GlobalRef.Axes*..GlobalRef2.Axes';
         AnyDrawRefFrame drw={RGB={1,0,0};};
       };
       
     };  
   }; // MyModel
   
   // The study: Operations to be performed on the model
   AnyBodyStudy MyStudy = {
     AnyFolder &Model = .MyModel;
     Gravity = {0.0, -9.81, 0.0};
   };
   
};  // Main

Best regards
Søren