ОТВЕТ !! ОТВЕТ !! ОТВЕТ !! но я забыл свой другой аккаунт, поэтому не могу пометить его: - (
Спасибо за все замечательные ответы, это мне очень помогло! Ответы, которые вы дали, были действительно правильными, пара моих формул была неправильной, и некоторая оптимизация кода могла быть выполнена, но ни один из них не был действительно решением проблемы. Так что я просто сел с листом бумаги и начал вычислять каждое значение, полученное от моей программы вручную, заняло у меня два часа: O Но я действительно нашел решение своей проблемы:
Проблема в том, что когда я обновляю свою скорость (с исправленным кодом), я получаю десятичное значение, никаких проблем нет. Позже я увеличиваю позицию в Y, добавляя скорость, умноженную на Delta T, что является очень малым значением. Результатом является очень небольшое значение, которое необходимо добавить. Теперь проблема в том, что если вы рисуете Elipse () в Win32, точка будет длинной, поэтому все десятичные значения будут потеряны. Это означает, что только после очень долгого периода, когда скорость значений начинает выходить из десятичных значений, что-то происходит, и что наряду с этим, чем выше вы бросаете мяч, тем лучше результаты (один из моих симптомов). эта проблема была действительно простой, добавив дополнительное значение DOUBLE для моего класса Ball, которое содержало истинную позицию (включая десятичные дроби) моего шара. Во время RenderFrame () вы просто берете значение пола или потолка double, чтобы нарисовать эллипс, но для всех расчетов вы используете значение Double. Еще раз большое спасибо за все ваши ответы, STACKOVERFLOW PEOPLE ROCK !!!