public PointPatternMatchResult GetPointPatternMatchResult(IPointPattern CompareTo, PointF[] Points) { double[] aDeltas = new double[Precision]; double[] aCompareToAngles = PointPatternMath.GetPointArrayAngularMargins(PointPatternMath.GetInterpolatedPointArray(CompareTo.Points, Precision)); double[] aCompareAngles = PointPatternMath.GetPointArrayAngularMargins(PointPatternMath.GetInterpolatedPointArray(Points, Precision)); for (int i = 0; i <= aCompareToAngles.Length - 1; i++) aDeltas[i] = PointPatternMath.GetAngularDelta(aCompareToAngles[i], aCompareAngles[i]); // Create new PointPatternMatchResult object to hold results from comparison PointPatternMatchResult comparisonResults = new PointPatternMatchResult(); comparisonResults.Probability = PointPatternMath.GetProbabilityFromAngularDelta(aDeltas.Average()); comparisonResults.Name = CompareTo.Name; comparisonResults.PointPatternSetCount = 1; // Return results of the comparison return comparisonResults; }
public PointPatternMatchResult GetPointPatternMatchResult(IPointPattern CompareTo, PointF[] Points) { double[] aDeltas = new double[Precision]; double[] aCompareToAngles = PointPatternMath.GetPointArrayAngularMargins(PointPatternMath.GetInterpolatedPointArray(CompareTo.Points, Precision)); double[] aCompareAngles = PointPatternMath.GetPointArrayAngularMargins(PointPatternMath.GetInterpolatedPointArray(Points, Precision)); for (int i = 0; i <= aCompareToAngles.Length - 1; i++) { aDeltas[i] = PointPatternMath.GetAngularDelta(aCompareToAngles[i], aCompareAngles[i]); } // Create new PointPatternMatchResult object to hold results from comparison PointPatternMatchResult comparisonResults = new PointPatternMatchResult(); comparisonResults.Probability = PointPatternMath.GetProbabilityFromAngularDelta(aDeltas.Average()); comparisonResults.Name = CompareTo.Name; comparisonResults.PointPatternSetCount = 1; // Return results of the comparison return(comparisonResults); }