Julio Jerez wrote:for example say the you put a coin on a turn table, the coin will not experience any Coriolis forces because the coin is not moving in the turn table, it is only when the coin gain velocity that its espericence these side Coriolis force.
Yeah, I was pulling my hear about that... I understand coriolis effect fairly well, and I was wondering why your formula is producing it even though I am in a perfect orbit. There should be no coriolis effect if I am not moving radially. There IS a radial movement in the case of elliptical orbits, which are not, of course, perfect circular orbits. There IS a coriolis-related effect for perfect orbits called Eötvös effect, which is described fairly well on the Wiki Coriolis page https://en.wikipedia.org/wiki/Coriolis_force and it has almost an identical case to what I was illustrating with my rocket launch east and west (except it has a train in their case).
Also - my orbital speed calculations are accurate and fairly robust. There are a few on-line orbital speed calculators that give values very close to mine, and I think a small discrepancies are due to the varying precision of G, M and earth radius. Those on line calculators also differ amongst themselves, but differences are only within a tenth of a percent.
Looking at your formula closely, I was going to implement it as such:
- Code: Select all
dVector vCoriolisVelVector = vVelocityVector - EarthOmega*vPosition;
dVector coriolisAccel = (EarthOmega*vCoriolisVelVector).Scale(-2.0f);
but that won't work either. What do you mean by shipLinearVelocity? Any radial movement by ship? I'm not sure how to get that. All I have is a velocity vector (vVelocityVector) and that's probably not what you had in mind when you said that this component will be zero for perfect orbit (because it won't be).