private void SetAverageCoordinates(Centroid centroid) { var samplePoints = SamplePoints.Where(point => point.NearsetPointId == centroid.Id).ToArray(); if (samplePoints.Length != 0) { List <double> averages = new List <double>(); for (var i = 0; i < samplePoints.First().Coordinates.Count; i++) { averages.Add(0.0); } foreach (var samplePoint in samplePoints) { for (var i = 0; i < averages.Count; i++) { averages[i] += samplePoint.Coordinates[i]; } } for (var i = 0; i < averages.Count; i++) { averages[i] /= samplePoints.Length; } MaxCentroidShift = Euclides.CalculateDistance(new SamplePoint(averages), centroid); centroid.Coordinates = averages; } }
/// <summary> /// Ctor /// </summary> public GDIColorProvider() { _colorHelper = new ColorHelper(); _samplePointService = new SamplePointService(); _colorMapper = new ColorMapper(); SamplePoints = _samplePointService.GetSamplePoints(.30f); }
private void _cmbobox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (_cmbobox.SelectedItem == null) { return; } decimal output = Convert.ToDecimal(SamplePoints.GetPoint(_cmbobox.SelectedItem.ToString()).Value); OutputPorts[0].Data = output; }
//private readonly Dictionary<string, decimal> _pointList = new Dictionary<string, decimal>() //{ // {"Point1", Convert.ToDecimal(0.0 ) }, // {"Point2", Convert.ToDecimal(0.1 ) }, // {"Point3", Convert.ToDecimal(0.2 ) }, // {"Point4", Convert.ToDecimal(0.3 ) }, // {"Point5", Convert.ToDecimal(0.4 ) }, //}; public GetFloatPoint(Core.VplControl hostCanvas) : base(hostCanvas) { AddOutputPortToNode("Float Point Value", typeof(float)); _cmbobox = new ComboBox() { Width = 150, ItemsSource = SamplePoints.GetPoints().Select(x => x.Name).ToList(), }; _cmbobox.SelectionChanged += _cmbobox_SelectionChanged; AddControlToNode(_cmbobox); }
/// <summary> /// extract the Fields from the solution, Resample them equally spaced and ready to use in an fft /// </summary> private void Resample(int iterIndex, double[] currentSol, MultigridOperator Mgop, string component) { if (Mgop.GridData.SpatialDimension == 2 && Mgop.LevelIndex == 0) { MultidimensionalArray SamplePoints; GridData GD = (GridData)Mgop.Mapping.AggGrid.AncestorGrid; BoundingBox BB = GD.GlobalBoundingBox; double xDist = BB.Max[0] - BB.Min[0]; double yDist = BB.Max[1] - BB.Min[1]; double aspectRatio = xDist / yDist; MGViz viz = new MGViz(Mgop); DGField[] Fields = viz.ProlongateToDg(currentSol, "Error"); for (int p = 0; p < Fields.Length; p++) { var field = Fields[p]; int DOF = field.DOFLocal; double N = Math.Sqrt(DOF); int Nx = (int)Math.Round(Math.Sqrt(aspectRatio) * N); int Ny = (int)Math.Round(1 / Math.Sqrt(aspectRatio) * N); SamplePoints = MultidimensionalArray.Create(Ny, Nx); for (int i = 0; i < Nx; i++) { MultidimensionalArray points = MultidimensionalArray.Create(Ny, 2); for (int k = 0; k < Ny; k++) { points[k, 0] = BB.Min[0] + (i + 1) * xDist / (Nx + 1); points[k, 1] = BB.Min[1] + (k + 1) * yDist / (Ny + 1); } List <DGField> fields = new List <DGField>(); fields.Add(field); FieldEvaluation FE = new FieldEvaluation(GD); MultidimensionalArray Result = MultidimensionalArray.Create(Ny, 1); FE.Evaluate(1.0, fields, points, 1.0, Result); SamplePoints.ExtractSubArrayShallow(-1, i).Acc(1.0, Result.ExtractSubArrayShallow(-1, 0)); } SamplePoints.SaveToTextFile("ResampleFFT_lvl" + Mgop.LevelIndex + "_" + iterIndex + "_" + component + "_" + field.Identification + ".txt"); } } }
public SamplePoints GetSamplePoints(float screenPercentage) { var samplePoints = new SamplePoints(); // Get the box sizing samplePoints.CenterBox = GetCenterBox(screenPercentage); // Get the sample points samplePoints.Points = GenerateSamplePoints(samplePoints.CenterBox); return samplePoints; }
public SetFloatPoint(Core.VplControl hostCanvas) : base(hostCanvas) { AddInputPortToNode("Object", typeof(object)); _cmbobox = new ComboBox() { Width = 150, ItemsSource = SamplePoints.GetPoints().Select(x => x.Name).ToList(), }; var textBlock = new TextBox() { TextWrapping = TextWrapping.Wrap, FontSize = 14, Padding = new Thickness(5), }; AddControlToNode(_cmbobox); AddControlToNode(textBlock); _cmbobox.SelectionChanged += _cmbobox_SelectionChanged; }
/// <summary> /// Ctor /// </summary> public DirectxColorProvider() { _colorHelper = new ColorHelper(); _samplePointService = new SamplePointService(); _colorMapper = new ColorMapper(); PresentParameters present_params = new PresentParameters(); if (d == null) { d = new Device(new Direct3D(), 0, DeviceType.Hardware, IntPtr.Zero, CreateFlags.SoftwareVertexProcessing, present_params); } if (_samplePoints == null) { _samplePoints = _samplePointService.GetSamplePoints(.1f); } if(_graphics == null) { _graphics = this.CreateGraphics(); } }
public override void Calculate() { var textbox = (TextBox)ControlElements[1]; SamplePoints.WriteAdvisory(textbox.Text); }
/// <summary> /// Finds the sound control point that is active at <paramref name="time"/>. /// </summary> /// <param name="time">The time to find the sound control point at.</param> /// <returns>The sound control point.</returns> public SampleControlPoint SamplePointAt(double time) => binarySearch(SamplePoints, time, SamplePoints.FirstOrDefault());