//public static CameraSpacePoint PointProjectionIntoPlane(CameraSpacePoint point, CameraSpacePoint planeNormal) //{ // float x = point.X; // float y = point.Y; // float z = point.Z; // float a = planeNormal.X; // float b = planeNormal.Y; // float c = planeNormal.Z; // float t = (a*) //} public static Planes GetPlanes(Dictionary <JointType, Joint> joints) { CameraSpacePoint spineBase = joints[JointType.SpineBase].Position; CameraSpacePoint spineMid = joints[JointType.SpineMid].Position; CameraSpacePoint horizontalPlane = LinearAlgebra.Sub(spineMid, spineBase); CameraSpacePoint hipToHip = LinearAlgebra.Sub(joints[JointType.HipLeft].Position, joints[JointType.HipRight].Position); // difference between both hips CameraSpacePoint sagittalPlane = LinearAlgebra.CrossProduct(horizontalPlane, hipToHip); CameraSpacePoint frontalPlane = LinearAlgebra.CrossProduct(horizontalPlane, sagittalPlane); Planes plane = new Planes(horizontalPlane, sagittalPlane, frontalPlane); return(new Planes(horizontalPlane, sagittalPlane, frontalPlane));; }