![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Aug 2006
Адрес: Москва \ СПб
Сообщений: 10
|
дело не в этих числах - их влияние на позиционирование, ИМХО, пренебрежимо мало по сравнению с обычным для любого растрового вывода (а вывод в монитор - это растровый вывод) "биения", и, судя по эксперименту, даже накопленная ошибка не выходит за пределы округления при масштабировании.
Обратите внимание на следующие особенности в приведенном примере: - при уменьшении эффект усиливается, и наоборот, хотя по логике вещей, если дело было бы в числах - было бы наоборот (грубо говоря, на ошибку флэша накладывалась бы еще и ошибка масштабирования на размер монитора этим же флэшем) - на деле все наоборот, при фуллскрине эффект (дефект, вернее) практически пропадает. - эффект наиболее сильно проявляется на наклонных, близких к 90 и 0 градусов, что как раз и характерно для проблемы "ступеньки" при растрировании - это заметно - при накопленной ошибке округления проявление этого эффекта было бы более или менее случайным - во всяком случае, на глаз. Можно ведь провести "обратный эксперимент" - внести искусственно бОльшую рандомную добавку к координатам. Эффект зрительно совершенно другой. - вертикали и горизонтали не так "дефектны" - на фуллскрине они вообще идеально масштабируются, как и вертикальные границы "кадриков" в примере, а на обычном размере фактически "играют" только за счет ошибок, естественных для масштабирования растрового изображения - т.е. становятся "влево-вправо" через равные промежутки времени (это заметно, если сильно замедлить приведенный пример) Опять-таки - вертикальные и горизонтальные линии "ступеньке" не подвержены, они сами масштабируются практически точно. Достаточно повернуть эту картинку на пару градусов - и границы "заиграют" точно так же "переливами". Посмотрите на любую тонкую окружность в флэшке. Попробуйте ее плавно увеличить или плавно уменьшить (да и не плавно - заметно то же самое). "макушка" и "бока" будут (в зависимости от монитора) или "срезаны", или "размыты". Вот то же самое творится и на любой границе яркостей, где угол близок к 0 или 90. Ровно то же самое происходит при "наезде" видеокамерой, поэтому опытные операторы (и 3D-дизайнеры, кстати ) или избегают таких кадров, или применяют специальные приемы борьбы с этим дефектом. Только в ТВ это заметнее - там растр-то "крупнее"...Вы никогда не задумывались, почему практически ни в одной программе масштабирование/зум не реализуется вот таким способом - ведь программно это для авторов фотошопа или, напр., ACDSee - как нечего делать? И в идее - симпатично, вроде... если только не делать на каждый кадр бикубическое масштабирование или не юзать по полной программе возможности 3D-ускорителей, в коих единственных эта проблема решается (более-менее) с достойной производительностью. __ В конечном итоге задача (до появления мониторов с разрешением, превышающим разрешающую способность глаза, как минимум) неразрешима в общем виде. Квадратными пикселями не нарисовать точный круг, а масштабирование растрового изображения всегда приблизительно. Я понимаю удивление человека, столкнувшегося с тем, что вектор в итоге все равно - растр, и растровые эффекты на нем проявляются в полный рост, но вот на таких нюансах это и проявляется... слава Богу - редкий случай. PS. А вопрос стоит того, чтобы задать его разработчикам, ИМХО. Как бы то ни было - а этот дефект (что с Вашим объяснением, что с моим) стоит названия если не "баг", то, как мин., недоработка: и числа должны правильно выставляться, и возможность антиальясинга нормального для подобных задач вполне, IMHO, могла бы быть реализована на уровне стандартных фильтров. Последний раз редактировалось __Des; 08.01.2008 в 22:56. |
![]() |
Часовой пояс GMT +4, время: 02:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|