Beispiel #1
0
        public static Polygone MovePoly(Polygone polygone, Vector3 amount)
        {
            for (int i = 0; i < polygone.listVerticies.Count; i++)
            {
                polygone.listVerticies[i] += amount;
            }

            polygone.center = Polygone.GetGravityCenter(polygone.listVerticies);

            return(polygone);
        }
Beispiel #2
0
        public static Polygone RotatePoly(Polygone polygone, Vector3 amount)
        {
            List <Vector3> newVertex = new List <Vector3>();

            Quaternion newRotation = GetQuaternion(amount.X, amount.Y, amount.Z);
            Vector3    vecRotation = GetEulerAngle(newRotation.W, newRotation.X, newRotation.Y, newRotation.Z);

            for (int i = 0; i < polygone.listVerticies.Count; i++)
            {
                polygone.listVerticies[i] = vecRotation * (polygone.listVerticies[i] - polygone.center) + polygone.center;
            }
            polygone.center = Polygone.GetGravityCenter(polygone.listVerticies);

            return(polygone);
        }