Я пытаюсь построить график функций с асимптотами, например f(x) = tan(x) и f(x) = 1 / x, используя SVG. С помощью ответа enxaneta мне удалось сгенерировать точки и соединить их квадратичными и кубическими кривыми Безье.
В реализации есть две проблемы:
Везде, где есть асимптота, всегда есть связь. Как я могу автоматически обнаружить асимптоты на графике и убедиться, что они не связаны?
По какой-то причине график не имитирует истинный график tan( х) или 1/x. Точки разрыва не отображаются должным образом.
Я пытаюсь построить график функций с асимптотами, например f(x) = tan(x) и f(x) = 1 / x, используя SVG. С помощью ответа enxaneta мне удалось сгенерировать точки и соединить их квадратичными и кубическими кривыми Безье. В реализации есть две проблемы: [list] [*]Везде, где есть асимптота, всегда есть связь. Как я могу автоматически обнаружить асимптоты на графике и убедиться, что они не связаны? [*]По какой-то причине график не имитирует истинный график tan( х) или 1/x. Точки разрыва не отображаются должным образом. [/list] Любая помощь приветствуется!
[code]let smooth = 0.1; let container = document.getElementById("svg"); let width = container.getAttribute("width"); let height = container.getAttribute("height");
let xmin = -5 * 2 * Math.PI; let xmax = 5 * 2 * Math.PI; let ymin = -10; let ymax = 10;
function f(x) { //use tan(x) or 1 / x return Math.tan(x); //return 1 / x; }
let points = generatePoints(xmin, xmax, 150); let thePath = document.getElementById("thePath");