Форум программистов, компьютерный форум, киберфорум
Наши страницы
Математика
Войти
Регистрация
Восстановить пароль
 
Randen
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
1

Формула не корректно работает с маленькими числами

10.12.2016, 10:21. Просмотров 248. Ответов 2
Метки нет (Все метки)

Привет. Вот, например, формула пересечения отрезков:
C#
1
2
        float x = -((a.x * b.y - b.x * a.y) * (d.x - c.x) - (c.x * d.y - d.x * c.y) * (b.x - a.x)) / ((a.y - b.y) * (d.x - c.x) - (c.y - d.y) * (b.x - a.x));
        float y = ((c.y - d.y) * (-x) - (c.x * d.y - d.x * c.y)) / (d.x - c.x);
Всё хорошо, но когда точки ну оооооооочень близко друг к другу, то проверка выполняется не правильно.

Пробовал умножать все числа на 1000, а результат делить на 1000. Но в итоге проверка перестала выполнятся даже в тех случаях, когда она выполнялась нормально.

На самом деле причина может крыться не именно в этой формуле. Но суть то одна. Слишком маленькие числа мешают работе.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2016, 10:21
Ответы с готовыми решениями:

не корректно работает формула
еще раз всем привет и заранее спасибо за помощь! в прилагаемом файле на листе 307 в столбце F...

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

Формула не считает корректно
Пытаюсь решить задание, но формула не считает корректно Исходные данные: P = 7; % kN E =...

Функция корректно работает в Delphi 7 и не неверно работает в RAD Studio 10
Переписываю свою программу с Delphi 7 под RAD Studio 10. Столкнулся с проблемой - функция в...

Игра работает корректно в Unity, но не работает после билда
Разрабатываю игру на Android. Решил сделать билд для проверки на телефоне. В Unity все скрипты...

2
echs
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
10.12.2016, 11:28 2
Randen
Тут ничего не поделаешь. Когда результат по
величине близок к погрешности, то это уже не
результат. Формула тут ни причем. При таких
условиях ни одна формула работать не будет.
Если есть возможность, то увеличьте точность
расчетов. Например возьмите тип Double.
1
Randen
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
10.12.2016, 13:49  [ТС] 3
А не, проблема была в другом. От OSM получал данные, и там были подряд две одинаковые точки, вот же косячники. Получается что нинакого вообще надеяться нельзя. Даже на гугл)
Все равно спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2016, 13:49

Apache+Ubuntu не работает/работает не корректно
Переустановил апачи иии оно не работает. Установка прошла без ошибок, но на старт, рестарт, стоп...

Не работает модуль (работает не корректно)
Доброго времени суток! Проблема в следующем... На главном шаблоне модуль работает, но я сейчас...

Не корректно работает
I need help. Не могу понять почему мой код при считывание с одного файла и записи в другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru