Движение тела с учётом сопротивления воздуха

Добрый день, вопрос скорее по математике и физике. Моя программа рисует траекторию движения снаряда с учётом сопротивления воздуха. Изначально задаётся скорость и угол, затем она через косинус и синус раскладывается на составляющие по оси Х и У. Затем для каждой оси каждый кадр считается скорость по формуле Vx = Vx - a. Где "a" ускорение создаваемое сопротивлением воздуха. Для оси У Vy = Vy - a - g, если тело перестаёт лететь вверх и начинает падать, то Vy = Vy + a - g, так как скорость меняет знак. В одном из тестов я отключил силу тяжести. По логике вещей, тела должны лететь по прямой, постепенно замедляясь, но вышло всё совсем не так.

Суть проблемы - сопротивление воздуха пропорционально квадрату скорости. Соответственно, если, например, по оси Х скорость больше, чем по оси У, то по оси Х сопротивление воздуха сильнее и скорость падает быстрее. В итоге, тело начинает скривлять траекторию в сторону оси Х. Если же вертикальная составляющая скорости больше, чем горизонтальная, то тело начинает скривлять траекторию в сторону оси У. Этот эффкет выражен тем больше, чем меньше отношение массы тела к его сопротивлению воздуха и чем больше одна из составляющих скорости. Под углом 45 градусов, соответственно, обе составляющих скорости равны и тело летит прямо.

Формулы вроде бы я написал правильно. Возникает вопрос - неужели такой эффект есть и в реальности? Мне почему-то кажется что нет и где то всё же кроется ошибка. Ведь сила сопротивления воздуха должна иметь вектор направленный ровно в противоположную сторону вектору скорости.