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