# User:Evil4Zerggin/Effective position drag model

The idea is to have an easily invertible function that maps the **effective position**---where the projectile *would* be if there were no drag---to the *actual* position of the projectile. Then to hit a target point, we simply invert the target coordinates and aim at that point instead.

## Basics[edit | edit source]

Let the function that maps the effective position of the projectile to the actual position be

The trajectory of a dragless projectile is

The trajectory of the projectile after drag is then

To hit a point , we instead aim at

as if there were no drag.

## Choosing the function[edit | edit source]

Of course, is a very large space. Let us see what sort of functions might be appropriate.

- should be continuous.
- doesn't
*necessarily*have to be onto---it's fine if shells can't reach some parts of the world. But it should probably be one-to-one, as otherwise we will almost certainly suffer discontinuities in the inverse. - One possibility for simplification is making depend on and/or affect only the distance from the origin. However, this could cause some strange trajectories with high-angle fire.
- Another is to separate the and directions so that and .
- In fact, we may even consider dispensing with modifying at all, in which case , , and .
- could of course also depend on fixed properties of the projectile.
- should map the origin to the origin, and we should have (no scaling near the origin).

### Some x-only possibilities[edit | edit source]

- for some maximum horizontal range parameter . This corresponds to linear drag in the horizontal axis only.
- . This corresponds to quadratic drag in the horizontal axis only.

## Other considerations[edit | edit source]

- At the least additional work would be needed to deal with inherited velocity.
- Affecting only the horizontal axis will cause shells to plunge pretty heavily at the end. Though maybe that could be a feature. On the other hand, if they keep their vertical velocity in space, they will tend to curve
*upwards*...