|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Valentin Davydov 2:5020/400 15 Sep 2001 19:24:45 To : Saniya Mamleeva Subject : Re: двумерные экстремумы --------------------------------------------------------------------------------
> From: Saniya Mamleeva <Saniya.Mamleeva@p21.f251.n5011.z2.fidonet.org>
> Date: Fri, 14 Sep 2001 22:48:25 +0400
>
>Во-вторых, вопрос.
>Есть двумерная функция (полином). Она рисуется на двумерном пиксельном поле
>(значение - цвет). Каждый пиксель - квадрат. Задача: при прохождении по всем
>пикселям отсортировывать те, в пределах которых функция изменяется быстрее
>всего (в одномерном аналоге - в пределах которых находятся локальные экстремумы
>производной, т.е. точки перегиба, где d2/dx2 = 0). Я сейчас всё пытаюсь
>вспомнить двумерный аналог такой второй производной, кажется, там получается
>определитель матрицы из вторых производных, пока что вспоминается как-то
>неправильно... но даже это мало поможет делу. Потому что трудно найти точку, в
>которой этот определитель точно был бы равен нулю. Можно рисовать все пиксели,
>в середине которых он меньше наперёд заданного значения, однако заказчику
>хочется, чтобы рисовались красивые тонкие линии, а не области разной толщины.
>
>Вот, не мог бы кто помочь?
Со вспоминанием двумерного аналога - нет, а кот когда ты его вспомнишь ;-)
то с рисованием помогу.
Итак, у тебя есть функция от двух перменных, надо нарисовать линии, по
которым она обращается в нуль. Делишь каждый пиксел по диагонали на два
треугольника. В вершинах каждого треугольника функция принимает три
занчения, так что её можно аппроксимировать линейной функцией (график
её будет плоскостью в трёхмерном пространстве). Корни линейной функции
составляют прямую и находятся элементароно. Отрезок этой прямой внутри
треугольника и надо нарисовать, а они уж сами сложатся в требуемый контур.
Особый случай: все три вершины треугольника дают значение 0. Придётся
либо закрасить его целиком, либо произвольным образом нарисовать какую-либо
фигуру (например, трёхлучевую звёздочку), соединяющую все три вершины.
Вал. Дав.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/65776b5934b6.html, оценка из 5, голосов 10
|