EgoRusMarch
@EgoRusMarch
C++ Developer

Как определить диапазон значений OY и OX?

Существуют разные графики функций, но речь идёт именно о тех, которые имеют в наборе операций арифметику и тригонометрические функции.

Так вот, предположим, что пользователь вводит формулу. График при этом может вообще не пересекать осей (например: k/x), может пересекать множество раз OX, не пересекая при этом OY (например: ctg(x)). Плюс к этому добавляются смещения с помощью констант.

Как можно единообразно при этом определить диапазон OY и OX без пользовательского ввода, как это делает, например, Wolfram Alpha?

У меня уже есть приложение, я пытаюсь его настроить таким образом, чтобы оно корректно работало.
Может быть это в принципе невозможно и нужно дополнительно кучу условий парсить. Но что-то мне подсказывает, что способ есть.
Тупо замерить максимум и минимум нельзя (пускай даже OX будет вводить пользователь), потому что многие функции быстро уходят к бесконечности, и выходит полнейшая дичь.
  • Вопрос задан
  • 597 просмотров
Решения вопроса 3
@Germanjon
Думаю, можно определить preset-ы для часто используемых функций и по каждому определённому preset-у определять диапазоны.
Для всех функций и для сложных решений вида y=six(x)+1/x+e^x^x так не получится
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
Задача поиска экстремума функции
и поиска экстремума обратной функции.
Может быть к этому ещё капелька эвристики (что бы это ни значило, гы-гы).

потому что многие функции быстро уходят к бесконечности, и выходит полнейшая дичь.
IMHO, это не является препятствием.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Поиск периодов и осей всех симметрий на нём.
SIZING: Затем, масштабирование для отображения центра координат вместе с 2-3мя периодами в любом направлении.
SPANNING: Поиск центра "масс" всех периодов от центра координат и самого центра координат, и сдвиг центра "масс" в центр отображения.
(я бы так делал, а там - не знаю...)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы