|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Sobolev 2:5030/651.19 25 Jun 2003 22:28:20 To : Sasha Mokrov Subject : картинка строчная -> радиальная -------------------------------------------------------------------------------- SS>> прямоугольную картинку - массив строк x столбцов перевести в SS>> радиальную - массив лучей фиксированной длины с углами поворота <...скип...> SM> Тут есть 2 пути: SM> 1. Брать ближайшую точку. SM> 2. Брать среднее между четырьмя ближайшими. <...скип...> Спасибо, я реализовал путь ь1. Хотя, положив руку на сердце, должен признаться, что меня интересовала несколько другая информация, а именно - оптимальная по быстродействию реализация. В ходе экспериментов была выбрана следующая схема: 1. Вычисляется для заданного числа углов поворота массив синусов и косинусов, умноженных на 1024 (массивы целых чисел). 2. В цикле по приращению угла поворота организован цикл по номеру пиксела в луче, в ходе которого вычисляются смещенные прямоугольные координаты пиксела: приращение по оси абсцисс соответствует косинусу данного угла поворота, по ординат - синус. Работаем с координатами, сдвинутыми на 1024 влево, - избегаем использования чисел с плавающей точкой, т.е. только с целыми. 3. Полученные координаты сдвигаются на 10 разрядов вправо - это физические координаты пиксела исходного изображения (если нужно реализовать растяжение/сжатие или параллельный перенос, то сдвигаем или в п.2 внедряем сдвинутое смещение соответственно). 4. По полученным координатам пиксела берем цвет, заносим в текущий луч, текущий пиксел. Собственно, всё. :) sobolevsp at mail.ru ICQ #13989210 Sincerely yours - Sergey --- TEAM [СПбГУ] TEAM [ФМГь30] * Origin: Самоубийца поневоле... (FROM ADDRESS 2:5030/651.19) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/136933efa24aa.html, оценка из 5, голосов 10
|