Реализовать математические расчеты в приложении для скачек (.NET)

Цена договорная
02 октября 2021, 13:52 • 3 отклика • 57 просмотров
Мы разрабатываем приложение для скачек и нам нужен кто-то, кто займется расчетами. У нас уже реализованы расчеты для прямых треков. Теперь мы собираемся поддерживать полные треки на ипподромах, которые представляют собой 2 полукруга, соединенные 2 прямыми отрезками. Эти полукруги могут иметь разный радиус; картинка прилагается. Так что он близок к овалу, но не совсем.

Нужно будет сделать:
- просмотреть и понять существующий код,
- покрыть юнит-тестами непокрытые места (большая часть логики покрыта),
- реализовать расчеты для треков ипподрома и покрыть их юнит-тестами
- реорганизовать код прямого трека, чтобы оба модуля (прямой и ипподром) имели одинаковую структуру, интерфейсы и т. д.
- переместить оба модуля в отдельную универсальную библиотеку, которую мы собираемся использовать в других проектах, связанных с другими видами спорта
- написать техническую документацию с подробным описанием и объяснением того, как выполняются расчеты

Примеры необходимых нам расчетов треков ипподрома:
- расстояние между 2 точками
Его следует рассчитывать как можно ближе к реальному пути, который лошадь, скорее всего, бежала. См. Прикрепленное изображение.
- расстояние между 2 лошадьми
Лошади могут находиться на расстоянии 2 метров друг от друга, но они могут быть на расстоянии 100 метров до финиша, поэтому в этом случае расстояние будет равно 0.
- мгновенная скорость лошади
Нам нужно рассчитать его, используя какое-то скользящее среднее или любой другой подход для сглаживания скачков значений, вызванных плохими пакетами с координатами лошади, которые мы получаем от датчиков.
- дистанция беговой дорожки, пройденная лошадью
Лошадь может быть в 100 метрах от старта, значит, здесь мы получим 100 метров.
- реальная пройденная дистанция
В то же время лошадь никогда не бежит по идеальной траектории, поэтому, когда она находится в 100 метрах от старта, она фактически пробежала немного больше, например, 101 метр.
- точное время пересечения контрольной точки
Мы получаем координаты лошади 20-30 раз в секунду, некоторые пакеты плохие и их нужно выбросить. Таким образом, лошадь может в момент пересечь какую-то контрольную точку между двумя хорошими пакетами. Нам нужно максимально точно рассчитать точное время пересечения.

Нам нужно выполнить и другие расчеты.

Вам нужно будет предоставить пример вашего математического кода, чтобы я мог проверить ваш стиль и т. д.

Вам необходимо писать чистый, читаемый и поддерживаемый код в соответствии с лучшими практиками, шаблонами проектирования и принципами.

У вас должен быть опыт выполнения более-менее сложных вычислений.

Вы можете использовать любой язык .NET.

Пишите свою цену. Возможна как почасовая, так и сдельная оплата. Без указания цены прошу не писать, отвечать не буду.

Укажите также, совсем грубо эстимейт по времени.

Файлы