Как построить график неявной функции

Алгоритм/принцип построения графика неявной зависимости f(x,y) = 0?

Хабралюди! Подскажите, подкиньте идей!

Нарисовать на canvas, c++, pascal и т.п. график функции y = f(x) — проще простого. Выясняем ОДЗ аргумента и с определенным шагом вычисляем y(x). Ставим точку, и так далее.

А как быть с графиком f(x,y) = 0, если y(x) не выразить? Понимаю, что в общем случае, наверное, можно решить только перебором значений по плоскости. Какие есть частные решения? Нужен что-то вроде brain-storm. Заранее спасибо!

Спасибо gribozavr. (не получилось почему-то в вопросе вставить ссылкой)

Как построить график неявной функции. Смотреть фото Как построить график неявной функции. Смотреть картинку Как построить график неявной функции. Картинка про Как построить график неявной функции. Фото Как построить график неявной функции

Как построить график неявной функции. Смотреть фото Как построить график неявной функции. Смотреть картинку Как построить график неявной функции. Картинка про Как построить график неявной функции. Фото Как построить график неявной функции

Если влоб, то можно воспользоваться градиентным методом. Отображаемая площадь делится на N точек (выше N — больше качество и трудозатратнее). Точки выбираются либо по рандому, либо сеткой с определенным шагом. Далее для каждой точки вычисляется ее градиент. Зная вектор градиента мы знаем примерно в какую сторону нужно перемещать точку, чтобы приблизить ее к z = 0. Величина шага перемещения точки тоже настраивается и зависит от z (ближе — медленнее). Точка перемещается и вся процедура повторяется до тех пор пока либо не достигнем z = 0 с заданной точностью, либо других условий останова (выход за пределы отображаемой области, лимит количества итераций).
Таким образом случайно выбранные точки с течением времени будут перемещаться к контурам пересечения с z = 0 и образовывать эти самые линии.

Как построить график неявной функции. Смотреть фото Как построить график неявной функции. Смотреть картинку Как построить график неявной функции. Картинка про Как построить график неявной функции. Фото Как построить график неявной функции

Как построить график неявной функции. Смотреть фото Как построить график неявной функции. Смотреть картинку Как построить график неявной функции. Картинка про Как построить график неявной функции. Фото Как построить график неявной функции

Как построить график неявной функции. Смотреть фото Как построить график неявной функции. Смотреть картинку Как построить график неявной функции. Картинка про Как построить график неявной функции. Фото Как построить график неявной функции

Как построить график неявной функции. Смотреть фото Как построить график неявной функции. Смотреть картинку Как построить график неявной функции. Картинка про Как построить график неявной функции. Фото Как построить график неявной функции

Немного поразмыслил…
> Зная вектор градиента мы знаем примерно в какую сторону нужно перемещать точку, чтобы приблизить ее к z = 0

Вектор градиента не факт, что ведет к z=0. Ведь z=0 не обязано быть локальным минимумом f(). Кроме того, f(x,y) при разных x и y может быть как положительным, так и отрицательным при одном и том же градиенте…

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *