function Spring.new(q,x)local L=q or 0 x=x or os.clock return setmetatable({_clock=x,_time0=x();_position0=L,_velocity0=0*L,_target=L,_damper=1;_speed=1},Spring)end

function Spring.new(initial, clock)
	local target = initial or 0
	clock = clock or os.clock
	return setmetatable({
		_clock = clock;
		_time0 = clock();
		_position0 = target;
		_velocity0 = 0*target;
		_target = target;
		_damper = 1;
		_speed = 1;
	}, Spring)
end
