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); }
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); }