Skip to content

Latest commit

 

History

History
5 lines (4 loc) · 1.58 KB

README.md

File metadata and controls

5 lines (4 loc) · 1.58 KB

Необходимо написать программу на C++ с использованием Qt, которая в окне показывает симуляцию движения N шариков. Шарики притягиваются друг к другу с силой: F(r) = 1/r - 1/r^2 (http://www.wolframalpha.com/input/?i=1%2Fr+-+1%2Fr%5E2), где r – расстояние между шариками. Начальное положение шариков – случайное. В процессе работы шары можно перетаскивать мышкой, лопать (если попал по шарику) и добавлять (если попал в пустое место) второй кнопкой мыши.

Все вычисления нужно производить в отдельном потоке, основной поток Qt должен заниматься только отрисовкой и взаимодействием с пользователем. Взаимодействие между потоками должно быть сделано аккуратно и корректно. Анимация должна быть плавной. В потоке, производящем вычисления, Qt не использовать. Вместе с программой должны быть сделаны юнит-тесты, подтверждающие корректность работы программы. Для юнит-тестов желательно использовать Google Test (https://github.com/google/googletest).