public override void Do(IDemoChartControl chartControl)
        {
            var points = new SingleColorPoints
            {
                // Reader approach is used to improve performance for big data sets and their updates.
                Reader = new DefaultPositionMaskDataReader(GetPoints()),
                // Set points color.
                Color = Colors.DarkBlue,
                // Set name.
                Name = "Points"
            };

            // Setup chart settings. Note: for cylindrical system feel free to specify any axis as height axis.
            // Currently we're using Z as height axis.
            chartControl.Axes.IsAxes3DVisible = true;
            chartControl.Axes.CylindricalSettings.ZAxisAxisIndex = 2;
            chartControl.Axes.CoordinateSystem = CoordinateSystem.Cylindrical;

            // Setup several axis settings.
            chartControl.Axes.R.AxisThickness   = 2.0f;
            chartControl.Axes.R.AxisColor       = Colors.Red;
            chartControl.Axes.Phi.AxisThickness = 2.0f;
            chartControl.Axes.Phi.AxisColor     = Colors.Green;
            chartControl.Axes.Z.AxisThickness   = 2.0f;
            chartControl.Axes.Z.AxisColor       = Colors.Blue;

            // Set chart data source.
            chartControl.DataSource = points;
        }
Beispiel #2
0
        public override void Do(IDemoChartControl chartControl)
        {
            // Generate positions. Note: making Z and Y positions scaled.
            var positions = new Vector3F[PointsCount];

            for (int i = 0; i < PointsCount; i++)
            {
                positions[i] = new Vector3F(
                    (float)Random.NextDouble() * MaxRadius,
                    (float)Random.NextDouble() * MaxRadius * ScalingY,
                    (float)Random.NextDouble() * MaxRadius * ScalingZ);
            }

            // Creation of data presentation.
            var points = new SingleColorPoints
            {
                // Reader approach is used to improve performance for big data sets and their updates.
                Reader = new DefaultPositionMaskDataReader(positions),
                // Set points color.
                Color = Colors.DarkBlue,
                // Set name.
                Name = "Points"
            };

            // Setup camera 3D aspect ratio.
            // Here we specify that we want to fit our data into [1; 1; 1] cube.
            chartControl.ContextView.Camera3D.AspectRatio = new AspectRatio(PreferableAxis.Z, new Vector3 <float?>(1, 1, 1));

            // Setup chart options.
            chartControl.Axes.IsAxes3DVisible = true;

            // Set chart data source.
            chartControl.DataSource = points;
        }
Beispiel #3
0
        public override void Do(IDemoChartControl chartControl)
        {
            // Generate positions.
            var positions = new Vector3F[PointsCount];

            for (int i = 0; i < PointsCount; i++)
            {
                positions[i] = new Vector3F(
                    (float)Random.NextDouble() * MaxRadius,
                    (float)Random.NextDouble() * MaxRadius,
                    (float)Random.NextDouble() * MaxRadius);
            }

            // Creation of data presentation.
            var points = new SingleColorPoints
            {
                // Reader approach is used to improve performance for big data sets and their updates.
                Reader = new DefaultPositionMaskDataReader(positions),
                // Set points color.
                Color = Colors.DarkBlue,
                // Set name.
                Name = "Points"
            };

            // Setup chart options.
            chartControl.Axes.IsAxes3DVisible = true;

            // Set chart data source.
            chartControl.DataSource = points;
        }
        public override void Do(IDemoChartControl chartControl)
        {
            // Generate positions.
            var positions = new Vector3F[PointsCount];

            for (int i = 0; i < PointsCount; i++)
            {
                var    radius          = (float)Random.NextDouble() * MaxRadius;
                double angle1          = Random.NextDouble() * 2 * Math.PI;
                double angle2          = Random.NextDouble() * 2 * Math.PI;
                float  projectedRadius = radius * (float)Math.Cos(angle2);
                var    x = (float)(projectedRadius * Math.Cos(angle1));
                var    y = (float)(projectedRadius * Math.Sin(angle1));
                var    z = (float)(radius * Math.Sin(angle2));
                positions[i] = new Vector3F(x, y, z);
            }

            var points = new SingleColorPoints
            {
                // Reader approach is used to improve performance for big data sets and their updates.
                Reader = new DefaultPositionMaskDataReader(positions),
                // Set points color.
                Color = Colors.DarkBlue,
                // Set name.
                Name = "Points"
            };

            // Setup chart settings.
            chartControl.Axes.IsAxes3DVisible  = true;
            chartControl.Axes.CoordinateSystem = CoordinateSystem.Spherical;

            // Setup several axis settings.
            chartControl.Axes.R.AxisThickness     = 2.0f;
            chartControl.Axes.R.AxisColor         = Colors.Red;
            chartControl.Axes.Phi.AxisThickness   = 2.0f;
            chartControl.Axes.Phi.AxisColor       = Colors.Green;
            chartControl.Axes.Theta.AxisThickness = 2.0f;
            chartControl.Axes.Theta.AxisColor     = Colors.Blue;

            // Set chart data source.
            chartControl.DataSource = points;
        }
Beispiel #5
0
        public override void Do(IDemoChartControl chartControl)
        {
            // Generate positions.
            var positions = new Vector3F[PointsCount];

            for (int i = 0; i < PointsCount; i++)
            {
                positions[i] = new Vector3F(
                    (float)Random.NextDouble() * MaxRadius,
                    (float)Random.NextDouble() * MaxRadius,
                    (float)Random.NextDouble() * MaxRadius);
            }

            var points = new SingleColorPoints
            {
                // Reader approach is used to improve performance for big data sets and their updates.
                Reader = new DefaultPositionMaskDataReader(positions),
                // Set points color.
                Color = Colors.DarkBlue,
                // Set name.
                Name = "Points"
            };

            // Setup chart settings.
            chartControl.Axes.IsAxes3DVisible  = true;
            chartControl.Axes.CoordinateSystem = CoordinateSystem.Cartesian;

            // Setup several axis settings.
            chartControl.Axes.X.AxisThickness = 2.0f;
            chartControl.Axes.X.AxisColor     = Colors.Red;
            chartControl.Axes.Y.AxisThickness = 2.0f;
            chartControl.Axes.Y.AxisColor     = Colors.Green;
            chartControl.Axes.Z.AxisThickness = 2.0f;
            chartControl.Axes.Z.AxisColor     = Colors.Blue;

            // Set chart data source.
            chartControl.DataSource = points;
        }