protected override List<PoseProfile> CoreParameterToPose(bool right = true) { double width = Parameters["Width"].Value; double height = Parameters["Height"].Value; double palmdir = Parameters["PalmDir"].Value; double finger = Parameters["Finger"].Value; double headud = Parameters["HeadUpDown"].Value; double headlr = Parameters["HeadLeftRight"].Value; double shoulderPitch_open = -20*height+90; double shoulderRoll_open = -20 * width -10; double elbowYaw_open = 29.5*width + 90; double elbowRoll_open = 88.5; double wristYaw_open = 60*palmdir; double hand_open = 1; double shoulderPitch_close = -25*height+70; double shoulderRoll_close = -10*width+10; double elbowYaw_close = -10*width+65; double elbowRoll_close = 88.5; double wristYaw_close = -20; double hand_close = 0.2 * finger + 0.6; // degree double headPitch = base.NormalizeHeadPitch(headud); // degree double headYaw = double.NaN; RArm rarmposeopen = new RArm(false, shoulderPitch_open, shoulderRoll_open, elbowYaw_open, elbowRoll_open, wristYaw_open, hand_open); LArm larmposeopen = (LArm)rarmposeopen.MirrorLeftRight(); RArm rarmposeclose = new RArm(false, shoulderPitch_close, shoulderRoll_close, elbowYaw_close, elbowRoll_close, wristYaw_close, hand_close); LArm larmposeclose = (LArm)rarmposeclose.MirrorLeftRight(); Head head = new Head(false, headPitch, headYaw); PoseProfile arm_r_pose_open = new PoseProfile("OpenPose", rarmposeopen, true, 0.3, 0); PoseProfile arm_l_pose_open = new PoseProfile("OpenPose", larmposeopen, true, 0.3, 0); PoseProfile head_pose = new PoseProfile("OpenPose", head); PoseProfile arm_r_pose_close = new PoseProfile("ClosePose", rarmposeclose, true, 1, 0); PoseProfile arm_l_pose_close = new PoseProfile("ClosePose", larmposeclose, true, 1, 0); List<PoseProfile> lpp = new List<PoseProfile>(); lpp.Add(arm_r_pose_open); lpp.Add(arm_l_pose_open); lpp.Add(head_pose); lpp.Add(arm_r_pose_close); lpp.Add(arm_l_pose_close); return lpp; }
protected override List<PoseProfile> CoreParameterToPose(bool right = true) { double width = Parameters["Width"].Value; double amplitude = Parameters["Amplitude"].Value; double palmdir = Parameters["PalmDir"].Value; double finger = Parameters["Finger"].Value; double headud = Parameters["HeadUpDown"].Value; double headlr = Parameters["HeadLeftRight"].Value; // width double shldroll = -20 * width; double elbyaw = 25 * width + 65; // high pose double shldptch_high = -15 * amplitude + 45; double elbroll_high = 13.5 * amplitude + 75; // low pose double shldptch_low = 5 * amplitude + 85; double elbroll_low = 15 * amplitude + 60; double hand = 0.3 * finger + 0.5; double wristyaw = 60 * palmdir + 30; // degree double headPitch = base.NormalizeHeadPitch(headud); // degree double headYaw = double.NaN; Head head = new Head(false, headPitch, headYaw); RArm rarm_high = new RArm(false, shldptch_high, shldroll, elbyaw, elbroll_high, wristyaw, hand); RArm rarm_low = new RArm(false, shldptch_low, shldroll, elbyaw, elbroll_low, wristyaw, hand); LArm larm_high = (LArm)rarm_high.MirrorLeftRight(); LArm larm_low = (LArm)rarm_low.MirrorLeftRight(); // Joints PoseProfile pose_head = new PoseProfile("Pose1", head); PoseProfile pose_larm_high = new PoseProfile("Pose1", larm_high); PoseProfile pose_larm_low = new PoseProfile("Pose2", larm_low); PoseProfile pose_rarm_high = new PoseProfile("Pose2", rarm_high); PoseProfile pose_rarm_low = new PoseProfile("Pose3", rarm_low); PoseProfile pose_larm_high1 = new PoseProfile("Pose3", larm_high); PoseProfile pose_larm_low1 = new PoseProfile("Pose4", larm_low); List<PoseProfile> lpp = new List<PoseProfile>(); lpp.Add(pose_head); lpp.Add(pose_larm_high); lpp.Add(pose_larm_low); lpp.Add(pose_rarm_high); lpp.Add(pose_rarm_low); lpp.Add(pose_larm_high1); lpp.Add(pose_larm_low1); return lpp; }
protected override List<PoseProfile> CoreParameterToPose(bool right = true) { double width = Parameters["Width"].Value; double amp = Parameters["Amplitude"].Value; double palmdir = Parameters["PalmDir"].Value; double finger = Parameters["Finger"].Value; double headud = Parameters["HeadUpDown"].Value; double headlr = Parameters["HeadLeftRight"].Value; double shoulderRoll = -30 * width; double elbowYaw = 39.5 * width + 80; double elbowRollLow = -28 * amp + 30; double elbowRollHigh = 28.5 * amp + 60; double shoulderPitchLow = 20 * amp + 70; double shoulderPitchHigh = -10 * amp + 30; double wristYaw = 74 * palmdir + 30; // finger 0~1 double hand = 0.4 * finger + 0.6; // degree double headPitch = base.NormalizeHeadPitch(headud); // degree double headYaw = double.NaN; RArm rarmposelow = new RArm(false,shoulderPitchLow,shoulderRoll,elbowYaw,elbowRollLow,wristYaw,hand); LArm larmposelow = (LArm)rarmposelow.MirrorLeftRight(); RArm rarmposehigh = new RArm(false,shoulderPitchHigh,shoulderRoll,elbowYaw,elbowRollHigh,wristYaw,hand); LArm larmposehigh = (LArm)rarmposehigh.MirrorLeftRight(); Head head = new Head(false, headPitch, headYaw); PoseProfile arm_r_pose_low = new PoseProfile("LowPose", rarmposelow, true, 0.3, 0); PoseProfile arm_l_pose_low = new PoseProfile("LowPose", larmposelow, true, 0.3, 0); PoseProfile head_pose = new PoseProfile("LowPose", head); PoseProfile arm_r_pose_high = new PoseProfile("HighPose", rarmposehigh, true, 1, 0); PoseProfile arm_l_pose_high = new PoseProfile("HighPose", larmposehigh, true, 1, 0); List<PoseProfile> lpp = new List<PoseProfile>(); lpp.Add(arm_r_pose_low); lpp.Add(arm_l_pose_low); lpp.Add(head_pose); lpp.Add(arm_r_pose_high); lpp.Add(arm_l_pose_high); return lpp; }
protected override List<PoseProfile> CoreParameterToPose(bool right = true) { double width = Parameters["Width"].Value; double height = Parameters["Height"].Value; double finger = Parameters["Finger"].Value; double headud = Parameters["HeadUpDown"].Value; double headlr = Parameters["HeadLeftRight"].Value; // right double shldroll_r =-15*width -5; double elbyaw_r =90; double shldptch_r =-40*height+90; double elbroll_r =28.5*height+60; double wristyaw_r =74.5*height+30; double hand_r =0.3*finger+0.5; // degree double headPitch = base.NormalizeHeadPitch(headud); double headYaw = double.NaN; Head head = new Head(false, headPitch, headYaw); RArm rarm_one = new RArm(false, shldptch_r, shldroll_r, elbyaw_r, elbroll_r, wristyaw_r, hand_r); LArm larm_theother = (LArm)rarm_one.MirrorLeftRight(); // Joints PoseProfile pose_head = new PoseProfile("Prepare", head); List<PoseProfile> lpp_prepare = base.ArmChest("Prepare"); PoseProfile pose_rarm_one = new PoseProfile("One", rarm_one); PoseProfile pose_larm_theother = new PoseProfile("TheOther", larm_theother); List<PoseProfile> lpp = new List<PoseProfile>(); lpp.Add(pose_head); lpp.AddRange(lpp_prepare); lpp.Add(pose_rarm_one); lpp.Add(pose_larm_theother); return lpp; }
protected List<PoseProfile> StandArmPose(string mfname) { RArm armR = new RArm( false, 86, -7, 68, 23.5, 6, 0.3); LArm armL = (LArm)armR.MirrorLeftRight(); PoseProfile armppR = new PoseProfile(mfname, armR); PoseProfile armppL = new PoseProfile(mfname, armL); List<PoseProfile> lpp = new List<PoseProfile>(); lpp.Add(armppR); lpp.Add(armppL); return lpp; }