Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Saniya Mamleeva                      2:5011/251.21  16 Sep 2001  18:04:28
 To : Valentin Davydov
 Subject : Re: двумерные экстремумы
 -------------------------------------------------------------------------------- 
 
 15 Сен 01 19:24, you wrote to me:
 
  >> Задача: при прохождении по всем пикселям отсортировывать те, в
  >> пределах которых функция изменяется быстрее всего (в одномерном
  >> аналоге - в пределах которых находятся локальные экстремумы
  >> производной, т.е. точки перегиба, где d2/dx2 = 0). Я сейчас всё
  >> пытаюсь вспомнить двумерный аналог такой второй производной
 
  VD> Со вспоминанием двумерного аналога - нет, а кот когда ты его вспомнишь
  VD> ;-) то с рисованием помогу.
 
 Гм, я попыталась его вывести - получилось следующее: нужно найти те точки, в
 которых grad(F) максимален по модулю, т.е. |grad(F)| перестаёт возрастать и
 начинает убывать, т.е. не меняется. Т.е.
 
 Sqr (d|grad(F)| / dx) + Sqr (d|grad(F)| / dy) < E, E стремится к нулю.
 
 Получилось следующее:
 
 Sqr (d^2F / dx^2) + Sqr (d^2F / dy^2) + 2*Sqr (d^2F/dx/dy) < E
 
 т.е. сумма квадратов всех вторых производных.
 
 Вот только как справиться с тем случаем, когда он перестаёт убывать и начинает
 возрастать, там ведь вторая производная тоже ноль...
 
 А ещё я эту формулу ввела в компьютер, так он всё равно рисует не то, что
 хотелось бы... может, оттого, что значения производных по х и по у отличаются на
 порядок...
  VD> Итак, у тебя есть функция от двух перменных, надо нарисовать линии,
  VD> по которым она обращается в нуль. Делишь каждый пиксел по диагонали
  VD> на два треугольника. В вершинах каждого треугольника функция
  VD> принимает три занчения, так что её можно аппроксимировать линейной
  VD> функцией (график её будет плоскостью в трёхмерном пространстве).
  VD> Корни линейной функции составляют прямую и находятся элементароно.
  VD> Отрезок этой прямой внутри треугольника и надо нарисовать, а они уж
  VD> сами сложатся в требуемый контур. Особый случай: все три вершины
  VD> треугольника дают значение 0. Придётся либо закрасить его целиком,
  VD> либо произвольным образом нарисовать какую-либо фигуру (например,
  VD> трёхлучевую звёздочку), соединяющую все три вершины.
 
 Ой, на самом-то деле всё проще, так как пиксель - он и есть пиксель, и
 закрашивается полностью, либо не закрашивается вообще. Действительно,
 замечательный метод, напрасно я про него забываю. Итак, нужно просто вычислять, 
 по какой линии треугольник пересечёт нулевую плоскость, и если эта линия
 попадает в треуольник, то закрашивать его, так?
 
 Однако всё же сперва попробую с Е.
 Saniya
 
 ---
  * Origin: Весь мир он пробует на зуб... (2:5011/251.21)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 двумерные экстремумы   Saniya Mamleeva   14 Sep 2001 23:48:25 
 Re: двумерные экстремумы   Valentin Davydov   15 Sep 2001 19:24:45 
 Re: двумерные экстремумы   Saniya Mamleeva   16 Sep 2001 18:04:28 
 двумерные экстремумы   Arseny Slobodjuck   15 Sep 2001 23:25:33 
 Re: двумерные экстремумы   Saniya Mamleeva   16 Sep 2001 18:25:31 
 двумерные экстремумы   Arseny Slobodjuck   17 Sep 2001 22:49:05 
 Re: двумерные экстремумы   Alexey A. Kutuzov   18 Sep 2001 13:51:05 
 двумерные экстремумы   Evgenij Masherov   18 Sep 2001 15:04:49 
Архивное /ru.algorithms/38443ba4ee47.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional