require 'honey.std' local values = {} local sum = 0 function integral(value) sum = sum + value table.insert(values, value) if #values > 20 then sum = sum - values[1] table.remove(values, 1) end return sum end local prev = 0 function derivative(value) local delta = value - prev prev = value return delta end return function(db, self, other, point) local tbl = ode.ContactGeomTable(point) local x = tbl.depth - 3.8 local spring = db:getComponent(self, "spring") spring.F = math.abs(200 * x) print("depth", x) end