//This model has been created to illsutrate the moment reactions measured by the AnyKinRotational using Type=RotVector //The model has two studies, the only difference is the motion //The model consist of one segment with a mass of 10 kg, which is rotated in space //Please run the inverse analysis and look at the following properties in the chart: // Main.RotVectorMomentStudy1.Output.drv.Reaction.Fout : This is the moment reactions in the joint // Main.RotVectorMomentStudy3.Output.drv.Reaction.Fout : This is the moment reactions in the joint //As you can see this moment is measured wrt. to the blue coordinate system and the moment can be regarded as a moment vector //This is in contrast to if the Type had been RotAxesAngles. Main = { // The actual body model goes in this folder AnyFolder MyModel = { // Global Reference Frame AnyFixedRefFrame GlobalRef = { AnyDrawRefFrame drw={ RGB={0,0,1}; ScaleXYZ={1,1,1}*0.5; }; }; // Global reference frame AnySeg Mass={ Mass=10; Jii={0.01,0.01,0.01}; AnyRefNode Node1={ sRel={-0.5,0,0}; AnyDrawRefFrame drw={ RGB={1,0,0}; ScaleXYZ={1,1,1}*0.5; }; }; AnyDrawSeg drw={}; }; AnyKinEq lincon={ AnyKinLinear lin ={ AnyRefNode &ref1=..GlobalRef; AnyRefNode &ref2=..Mass.Node1; }; }; }; // MyModel //This study shows how the rotvector works it will rotate the red coordinate system around the green axis //Try to change the properties: // Axis // Angle // AnyBodyStudy RotVectorMomentStudy1 = { AnyVar Angle =40; //size of rotation in deg. AnyVec3 Axis={2,2,0}; //rotation axis AnyVec3 AxisNormalized =Axis/vnorm(Axis,2); //normalized rotation axis AnyDrawVector DrwRotAxisLength={ Vec=.AxisNormalized; AnyRefNode &ref1=..MyModel.GlobalRef; Line.RGB={0,1,0}; Line.Thickness=0.005; }; AnyFolder &Model = .MyModel; AnyKinEqSimpleDriver drv ={ AnyKinRotational rot ={ Type=RotVector; AnyRefNode &ref1=...MyModel.GlobalRef; AnyRefNode &ref2=...MyModel.Mass.Node1; AngVelOnOff=On; }; DriverPos={0,0,0}; DriverVel=(1/.tEnd)*{.AxisNormalized[0],.AxisNormalized[1],.AxisNormalized[2]}*pi; }; RecruitmentSolver = MinMaxSimplex; Gravity = {0.0, -9.81, 0.0}; nStep=1000; tEnd=1000; }; //This study shows how the rotvector works it will rotate the red coordinate system around the green axis //Try to change the properties: // Axis // Angle // AnyBodyStudy RotVectorMomentStudy2 = { AnyVar Angle =40; //size of rotation in deg. AnyVec3 Axis={2,0,2}; //rotation axis AnyVec3 AxisNormalized =Axis/vnorm(Axis,2); //normalized rotation axis AnyDrawVector DrwRotAxisLength={ Vec=.AxisNormalized; AnyRefNode &ref1=..MyModel.GlobalRef; Line.RGB={0,1,0}; Line.Thickness=0.005; }; AnyFolder &Model = .MyModel; AnyKinEqSimpleDriver drv ={ AnyKinRotational rot ={ Type=RotVector; AnyRefNode &ref1=...MyModel.GlobalRef; AnyRefNode &ref2=...MyModel.Mass.Node1; AngVelOnOff=On; }; DriverPos={0,0,0}; DriverVel=(1/.tEnd)*{.AxisNormalized[0],.AxisNormalized[1],.AxisNormalized[2]}*pi; }; RecruitmentSolver = MinMaxSimplex; Gravity = {0.0, -9.81, 0.0}; nStep=1000; tEnd=1000; }; }; // Main