コード例 #1
0
        protected static PointCloud PointCloud_ToImageCloud(PointCloud pc)
        {
            PointCloud pcNew = PointCloud.CloneAll(pc);
            Vector3    v     = new Vector3(-pcNew.BoundingBoxMin.X, -pcNew.BoundingBoxMin.Y, -pcNew.BoundingBoxMin.Z);

            PointCloud.AddVectorToAll(pcNew, v);
            pcNew.CalculateBoundingBox();


            float scaleFactorX = Convert.ToSingle(XDepthMaxKinect) / pcNew.BoundingBoxMax.X;
            float scaleFactorY = Convert.ToSingle(YDepthMaxKinect) / pcNew.BoundingBoxMax.Y;

            Vector3 vScale = new Vector3(scaleFactorX, scaleFactorY, 1000f);

            PointCloud.ScaleByVector(pcNew, vScale);


            pcNew.CalculateBoundingBox();


            return(pcNew);
        }