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