viewof poles = {
const initial = d3.range(108).map(d => {
return {
x: randomNumber(0, width * 2),
y: randomNumber(10, height),
positive: (d % 10 == 3) ? false : true,
str: (d % 10 == 3) ? 0.1 : 0.02
}
})
let svg = d3.create("svg")
.attr("viewBox", [0, 0, width * 2, height * 2])
.attr("width", width * 2)
.attr("height", height * 2)
let fieldG = svg.append('g')
let polesG = svg.append('g')
let node = svg.node();
node.value = initial
let render = (newPoles) => {
console.log(newPoles[0].x, newPoles[0].y)
let fieldPerGridCell = gridCellFactory({
cellValue: (col, row) => {
let x = col * resolution
let y = row * resolution
return fieldDirectionSampler(x, y, node.value)
}
})
gridLayer(fieldG, fieldPerGridCell)
polesLayer(polesG, newPoles)
}
render(node.value)
return node
}