LINUX.ORG.RU

А оператор преобразования с матрицей 
[cos(a) -sin(a)
 sin(a)  cos(a)]
случаем не подойдет?

anonymous
()
Ответ на: комментарий от anonymous

Нет, т.к. изображение растровое и простой пересчет координат пикселей приведет к их взаимному наложению и появлению пустых мест в результирующем изображении.

syomin
() автор топика
Ответ на: комментарий от syomin

Ну тогда наоборот - для каждого пиксела результата считайте его праобраз (ы) с помощью обратной матрицы - дырок точно не будет. Смотрите здесь: http://forum.ixbt.com/topic.cgi?id=40:2772, + поиск там же

anonymous
()
Ответ на: комментарий от syomin

syomin (10.01.2005 11:31:06):

> простой пересчет координат пикселей приведет к их взаимному наложению и появлению пустых мест в результирующем изображении.

Это явление -- одно из проявлений "алиасинга".

В последние годы теория антиаласинга весьма интенсивно развивается, попробуй погуглить на предмет antialiasing

Die-Hard ★★★★★
()

ещё можешь выполнить линейную или сплайновую интерполяцию исходного изображения повернуть систему координат и отрендерить в новой системе координат. Результат будет весьма близок к идеальному. В идеальном случае надо интерполировать кажись при помощи функций Якоби первого рода которые являются частным случаем ф-й Бесселя

cvv ★★★★★
()
Ответ на: комментарий от cvv

> но человек хочет алгоритм а не реализацию

так там, и алгоритм есть ...

> Кстати а ты какой алгоритм юзал??

Я пока не юзал, а как и товаришч нахожусь "в разведке".
Перед самым НГ активно занимался
http://root.cern.ch/root/htmldoc/TASImage.html

Надеюсь продолжить это занятие в самом ближайшем будущем.
Хотелось бы "совокупить" antigrain & asimage под началом ROOTa

carrot
()

пользуй интерполяцию как заметил cvv

lg ★★
()
Ответ на: комментарий от carrot

>> но человек хочет алгоритм а не реализацию

>так там, и алгоритм есть ...

один известный учённый на вопрос что нужней/важней математика или языки ответил "Математика ето язык"(c)не помню

cvv ★★★★★
()
Ответ на: комментарий от cvv

nemnozhko ne tak. U nikh sobraniya w Uniwere inogda prokhodili. Etot chuwak wsegda na nikh molchal, no na odnom sobranii byla wydwinuta ideya pomenshe matematiki i pobolshe yazykow, i wot on wystupil -- skazal "Matematika eto yazyk"

dilmah ★★★★★
()
Ответ на: комментарий от carrot

Не совсем понял, что ты хотел этим сказать: gdk_pixbuf_rotate_simple() позволяет повернуть изображение на угол, кратный 90 градусам, а мне нужно именно на произвольный.
Пока нашёл лишь краткие описания алгоритмов rotate by shear(RBS) и rotate by area mapping(RBAM).

syomin
() автор топика
Ответ на: комментарий от carrot

и еще, просьба, что найдете, держите в курсе, пожалуйста.
Тоже интересно. Спасибо

++
Думаю, также можно глянуть, как вращают буковки в "freetype"

carrot
()
Ответ на: комментарий от dilmah

>nemnozhko ne tak. U nikh sobraniya w Uniwere inogda prokhodili. Etot chuwak wsegda na nikh molchal, no na odnom sobranii byla wydwinuta ideya pomenshe matematiki i pobolshe yazykow, i wot on wystupil -- skazal "Matematika eto yazyk"

Не знаю. Пишу как прочитал. при небольшом желании можно установить где.

cvv ★★★★★
()
Ответ на: комментарий от carrot

Скорость важна, конечно, но в разумных пределах. Вообще, думаю остановиться на RBAM: говорят, что этот алгоритм обеспечивает весьма качественное результирующее изображение. Ещё, думаю, посмотреть в исходный код Gimp'а - там ведь тоже есть поворот изображения на произвольный угол...

P.S. Если что интересное найду - сюда напишу.

syomin
() автор топика
Ответ на: комментарий от syomin

> Ещё, думаю, посмотреть в исходный код Gimp'а - там ведь тоже есть поворот изображения на произвольный угол...

Тормозной, по-моему.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от carrot

По-конкретнее могу сказать только завтра. Сейчас исходников нет.

ANDI ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.