This question comes up a lot.
For plotting the path and dealing with the wonky units the physics behavior uses.
construct.net/en/forum/construct-3/how-do-i-8/create-physics-trajectory-178459
And similarly to pick an initial velocity so that the projectile hits a certain location.
construct.net/en/forum/construct-3/how-do-i-8/solved-physics-object-impulse-179677
1. You basically got the gist of it.
The physics behavior by default has a fixed timestep of 1/60. But it shouldn’t matter if you update vy like so.
Vy = vy+ay/2*dt
Y = y+vy*dt
Vy = vy+ay/2*dt
As you found for a physics behavior gravity of 10 the actual vertical acceleration will be x50 times bigger or 500. 50 comes up a lot in the units of the physics behavior.
2. The second link covers a way to calculate initial velocities.
3. X(t)=x0+vx*t
Y(t)=y0+vy*t+0.5*ay*t*t
4. Impulse isn’t a force. Basically J=mass*velocity so it’s used to change the velocity in an instant. It’s cleaner to just set the velocity than calculate the impulse. But if you really want to calculate an impulse that changes the velocity you can do this:
Jx = vx*mass/50/50
Same for jy
The mass expression provided by the behavior just gives the density is not correct. The correct formula is:
Mass = area*density/50
But maybe there’s some conversion you can do.
Beyond that you can account for linear damping too, and there may be other subtleties.