Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 December 09

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
короче - если вам важно с точностью до 5 знака поделить, например 7 на 3 - домножьте 7 на 100_000
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
получаете в фиксированной точке целую и дробную часть
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от std::slavik
если делить в плавающей - теряется точность
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
вот пример
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
например вычисленный косинус или синус или что там отдает в плавающей точке ответ - можно домножить на 1000 и привести к инту
а при вычислении координаты - поделить через // на 1000
ну или на 1_000_000 домножить и поделить - смотря какая точность нужна
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
смещение ведь в итоге в пикселях
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
так что вместо того чтобы в плавающей точке добавлять 5.4, лучше добавить 5400//1000
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Славик, помоги в чате по плюсам)
источник

a

arnold in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
std::slavik
так что вместо того чтобы в плавающей точке добавлять 5.4, лучше добавить 5400//1000
Понял , разница из за того что во float есть доля тысячная , далее пэта цифра отклонения лишь растет , спасибо за хорошую мысль
источник

ВП

Вася Пупкин... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
arnold
Вот многие говорят мол программирование можно изучать и без математики, а я вот как человек не разбирающийся в математике говорю откровенно , без математики программирование не получится, или я не прав и есть еще способы научится так мыслить как вы  ? Возможно книги какие или курсы есть по изучению именно мышления на тему куда что , как с этими шарами .
Ну, тут не сколько физика сколько логика.
При столкновении большого тела и маленького, большое тело потеряет часть скорости или остановиться, а маленькое отскочить. (И тут уже нужна формула, ее можно найти в интернете) но это если хочешь реалистичную физику. А не просто на сухой логике с векторами.
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
на самом деле первое что стоит сделать - научиться пользоваться отладчиком
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
я вот даже код этот полностью не читал
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
просто поставил breakpoint в нужном месте и посмотрел что там происходит
код кстати не очень хороший
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
и обычно он никогда не бывает хорошим
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
поэтому важно уметь определять - в каких ключевых местах что нужно проверить
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
потому что в чужом или своем же говнокоде времени разбираться нет
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
логика такая - у нас проблемы со столкновениями - ищем где они обрабатываются
нашел функцию reflection
она смотрит на координаты
где вычисляются координаты?
нашел, ткнул туда брейкпоинт
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
если бы я не знаком был с проблемой - я бы оставил один шар и подождал бы пока он не застрянет
в этот момент нажимается пауза и ставится брейкпоинт в функцию reflection
и пошагово смотрится - в какое условие попадает при застревании шар
источник

s

std::slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
оттуда поидее делается вывод что одну координату проверять недостаточно
источник