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
This commit is contained in:
parent
bed7617530
commit
c872e9a031
1 changed files with 27 additions and 4 deletions
31
js/franz.js
31
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Reference in a new issue