private void TransformTo2DAndDrawPoints(Graphics g, Pen pen, List <Point3D> points, double size) { List <Point3D> pointsFor2D = new List <Point3D>(); for (int i = 0; i < points.Count; i++) { pointsFor2D.Add(new Point3D((int)((points[i].X * l1() + points[i].Y * l2() + (points[i].Z * l3())) / (size * 0.001)) + movePosition.X, (int)((points[i].X * m1() + points[i].Y * m2() + (points[i].Z * m3())) / (size * 0.001)) + movePosition.Y, (int)((points[i].X * n1() + points[i].Y * n2() + (points[i].Z * n3())) / (size * 0.001)))); } GraphicsService.DrawSurface(g, pen, pointsFor2D); }