|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Mikhail Kalenkov 2:5020/400 10 Nov 2002 10:22:57 To : Alexey Kolotygin Subject : Re: арисовать f(x,y)=0 --------------------------------------------------------------------------------
Hello Alexey
> Имеется неявная функция (многозначная), т.е. функция вида f(x,y)=0
> Как ее можно нормально нарисовать?
>
> Я так понимаю, что нужно перебирать все точки плоскости и если x,y
> удовлетворяют f(x,y)=0 то вывести соответствующую точку.
> Hо в данном случае получается мало точек, нужно как-то соединить их
линиями.
Я бы делал так.
1) Выбрал бы произвольную точку x0 и нашёл бы все значения y, которые
удовлетворяют уравнению f(x0,y)=0. Это можно сделать, скажем, методом
Hьютона. Пусть это будут значения y[i].
2) Выбираем малое приращение eps и решаем уравнение f(x0+eps,y)=0. Если
корни y[i] были достаточно разнесены по оси и величина eps выбрана не очень
большой, то выбрав в качестве начального приближения значение y[i] ты
получишь точку принадлежащую той же ветви решения уравнения f(x,y).
3) Особым образом нужно обходиться с точками пересечения графиков. Тут тебе
скорее всего поможет какой-нибудь алгоритм с автоматическим выбором шага
eps.
Михаил Каленков.
--- ifmail v.2.15dev5
* Origin: Cronyx Plus ISP (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/78080598ddbb.html, оценка из 5, голосов 10
|