private Line drawLine(Point3D start, Point3D end)
        {
            Line line = new Line();

            DrawCube projector = new DrawCube();

            Point3D projectedStartPoint = projector.AnimateStar(start.X, start.Y, start.Z, rx, ry, -rz, elevation,azimuth);
            Point3D projectedEndPoint   = projector.AnimateStar(end.X, end.Y, end.Z, rx, ry, -rz, elevation, azimuth);

            line.X1 = ProjectionViewCanvas.Width/2 - projectedStartPoint.X;
            line.X2 = ProjectionViewCanvas.Width / 2 - projectedEndPoint.X ;

            line.Y1 = ProjectionViewCanvas.Height / 2 - projectedStartPoint.Y;
            line.Y2 = ProjectionViewCanvas.Height / 2 - projectedEndPoint.Y ;

            return line;
        }
        private void Drawplane()
        {
            DrawCube projector = new DrawCube();
            Point3D projectionPoint = new Point3D();

            Polygon plane = new Polygon();

            PointCollection pointCollection = new PointCollection();

            double distance = 480;

            for (int degreeStep = 0; degreeStep < 180; degreeStep+=2)
            {
                double degree = -degreeStep * (2*Math.PI/180);

                projectionPoint = projector.AnimateStar(distance* Math.Sin(degree),  distance* Math.Cos(degree), 0 ,rx, ry,  -rz,elevation, azimuth);

                pointCollection.Add(new Point(ProjectionViewCanvas.Width / 2 - projectionPoint.X, ProjectionViewCanvas.Height / 2 - projectionPoint.Y));
            }

            plane.Points = pointCollection;
            plane.Stroke = new SolidColorBrush(Color.FromArgb(0xF0, 0x3D, 0x95, 0xDE));
            plane.StrokeThickness = 3;

            ProjectionViewCanvas.Children.Add(plane);
        }
        private Point Calc3D()
        {
            double x = X-moveX;
            double y = Y-moveY;
            double z = Z-moveZ;

            double rx = rotaX;
            double ry = rotaY;
            double rz = rotaZ;

            double e = -elevation;
            double a = azimuth;

            Point3D ProjectedPoint = new Point3D();

            DrawCube Projector = new DrawCube();

            ProjectedPoint = Projector.AnimateStar(x, y, z, rx, ry, rz, e, a);

            projectorZ = ProjectedPoint.Z;

            renderDepth = projectorZ/centerX;

            return new Point(ProjectedPoint.X,ProjectedPoint.Y);
        }