Originally posted by Amarantine
The marble traveled 1.8m, and you need to go 2m. Since time to hit the ground is constant, the ratio of the speed of the marble with the 1 cm compression to the speed you actually need is 9/10.
Then use the regular spring energy=kinetic energy equation and that should be pretty much it.
I get 1.111111....cm as the answer. I program all day so I might not remember physics and this might not be right 😛. GO DISCLAIMERS!
I got a slightly different answer.
From Hooke's Law, we know that:
F = -kx
where:
"F" is force
"k" is the spring constant
"x" is the distance the spring has been stretched/compressed
From Newton's 2nd Law of motion, we know that:
F = ma
where:
"m" is the mass of the marble
"a" is the acceleration experienced by the marble
Equating the two and solving for "a", we have:
a = -kx/m
Note that "a" is expressed as a function of "x" here. Now, taking the integral of both sides with respect to "x", and choosing the limits of integration as x_i and x, we have:
INT(x_i:x)(a) = INT(x_i:x)(-kx/m)
The expression on the left is simply the velocity "v" as a function of "x". Re-writing and completing the integral on the right side, we have:
v(x) - v(x_i) = -k/(2m)*(x^2 - x_i^2)
Our coordinate system is such that the spring lies along the x-axis with the end of the table (i.e. the launch point) being the origin and the initial compressed state being less than 0 (i.e. x = -0.10 m for the original launch). Assuming the initial velocity v(x_i) to be 0, and letting x=0 to find the launch velocity, we have:
v(0) = k/(2m)*x_i^2
We now have an expression for the initial velocity as a function of the spring compression. Let's call this equation (1). Now a slight digression:
After the launch, the only force acting on the marble is the force of gravity, so the differential equations describing the marble's decent are:
d^2(y)/dt^2 = -g
d^2(x)/dt^2 = 0
Solving these equations with the following boundary conditions:
dy/dt(t=0) = 0
dx/dt(t=0) = v(0)
y(t=0) = h
x(t=0) = 0
We have:
y = -(1/2)*gt^2 + h
x = v(0)*t
Setting y = 0 and solving for "t", we have:
t = SQRT(2h/g)
Subbing this value into the equation for the motion in the "x" direction, we have:
x = v(0)*SQRT(2h/g)
We now have an expression for the distance traveled by the marble as a function of its initial velocity. Let's call this equation (2). Subbing equation (1) into equation (2), we get:
x = (x_i^2)*k/(2m)*SQRT(2h/g)
We now have an expression for the distance traveled by the marble as a function of its initial velocity. Since there are several constants in this equation that we don't know, and as it turns out we don't need to know, let's lump them all into a constant "C" and simplify:
x = C*(x_i^2)
Let's call this equation (3). Going back to the problem statement, we know that the marble traveled 1.8 m with a spring compression of 0.010 m. Subbing these values into equation (3), we have:
1.8 = C*(0.010^2) = C/10,000
Solving for C, we have:
C = 1.8*10,000 = 18,000
Now, we want to know how far we have to compress the spring in order to hit the target 2.0 m from the edge of the table. Subbing the distance into equation (3) and solving for x_i, we have:
2.0 = C*(x_i^2) = 18,000*(x_i^2)
x_i = SQRT(2.0/18,000) = 0.01054 m = 0.011 m = 1.1 cm
Therefore, you will need to compress the spring by an extra tenth of a centimetre to make the target. Amarantine's estimate of 1.1 cm is a good one, and would work in this case (and provide the same answer when rounded to the correct number of significant digits), but it gets less accurate the further off the original shot was. For instance, if the original shot was short by a full 1.0 m, the estimate would give you an answer of 2.0 cm, while the calculation above give you an answer of x_i = SQRT(2.0/10,000) = 1.4 cm.
Interesting problem!