From c872e9a031ca6bf8ccd8bd112b492f85f27ae3be Mon Sep 17 00:00:00 2001 From: Dominick Pham Date: Fri, 14 Aug 2009 02:35:01 -0400 Subject: [PATCH] frequency of values in a certain range - no loop arounds for cylindrical domain yet. Since we shouldn't expect a single hue, val, or sat to appear multiple times, we should really be looking at how often a range of them occur. There's probably a better solution for frequency probablity but this should work for now --- js/franz.js | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/js/franz.js b/js/franz.js index 30ac022..ce73cbe 100644 --- a/js/franz.js +++ b/js/franz.js @@ -220,21 +220,44 @@ var franz = { return false; }, + + /* calculates density of array data given interval and step size - both controlling data error + step size should ideally be < interval. Returns array with (# of intervals) as size */ + getDensity: function(inputArray, step, interval, max) { + var size = max/step; + var densityArray = new Array(size); + + for (var i=0; i < size; i++) { + var count = 0; + + for (var j=0; j < inputArray.length; j++) { + // if entry is within current interval + if ((inputArray[j] > i*step) && (inputArray[j] < i*step + interval)){ + count++; + } + } + console.log("frequency of values between " + i*step + " and " + (i*step + interval) + " = " + count); + densityArray[i] = count; + } + + return densityArray; + }, + /* bubble sort floats around and pops in your face */ indexSort: function(inputArray, start, end) { franz.resetIndex(); for (var i = start; i < end; i++) { for (var j = end-1; j >= start; j--) { var diff = inputArray[j] - inputArray[i] - console.log("j=" + inputArray[j] + " i=" + inputArray[i] + " -> " + diff); + //console.log("j=" + inputArray[j] + " i=" + inputArray[i] + " -> " + diff); if (diff > 0) { - console.log("swapped"); + //console.log("swapped"); inputArray.swap(i,j+1); franz.origIndex.swap(i,j+1); } - if (j == end-20) break; + //if (j == end-20) break; } - if (i == 20) break; + //if (i == 20) break; } }