Масштабирование изображений. Виды компьютерной графики и форматы изображений

Все мы знаем, что такое масштаб. Это отношение линейных размеров на условном графическом изображении к истинным величинам изображаемого объекта. То есть это соблюдение неких пропорций во время нанесения какого-либо чертежного изображения или редактирования фотографии.

Что такое масштаб, и зачем он нужен

Подобный способ передачи изображения применяется абсолютно во всем, начиная с карт и чертежей и заканчивая обычными фотографиями. Да вот только не всегда нужное изображение можно воспроизвести в натуральную величину. В этом случае на помощь и приходит масштаб. Благодаря ему изображения можно уменьшать или увеличивать, при этом соблюдая необходимые пропорции, которые указываются на чертежах. Что такое масштаб мы уже знаем, так давайте же поговорим о двух его видах.

Масштаб увеличения

Данный вид применяется в том случае, когда изображение в натуральную величину значительно меньше, нежели на чертежах. В этом случае в специальной графе указываются пропорции данного изображения (2:1, 8:1, 16:1, 150:1 и так далее). Пропорции нужно понимать следующим образом: правая цифра обозначает, что весь чертеж необходимо делить на сантиметры (например, 1 сантиметр), а левая - во сколько раз объект уменьшен на 1 сантиметр чертежного изображения. То есть, если мы имеем обозначение 2:1, то это значит, что на 1 сантиметр чертежной линии приходится 0,5 сантиметра объекта.

Масштаб уменьшения

Этот вид применяется в том случае, если объект, который необходимо изобразить, значительно превышает размеры чертежа. В специальной графе пропорций мы указываем, во сколько раз объект превышает изображение (например, 1:2, 1:250, 1:1000 и так далее). Левая цифра обозначает, на сколько сантиметров необходимо делить чертеж (например, на 1 сантиметр), а правая - сколько измерительных единиц приходится на 1 сантиметр. Например, мы имеем карту с обозначением масштаба 1:2000000 см, это значит, что на 1 сантиметр карты приходится 2000000 сантиметров местности (или 20000 метров, или 20 километров на 1 сантиметр).

Как масштабировать фотографии

Очень просто разобраться с составлением карт или чертежей, но вот что такое масштаб фотографий, понять достаточно сложно. Такие изображения имеют другие параметры измерения, а именно разрешение, которое зависит от количества пикселей, находящихся в данном изображении. Масштабируя фотографии, необходимо обращать внимание на количество пикселей, ведь значительно увеличивая с небольшим количеством пикселей, мы ухудшаем его качество и наоборот. Существуют различные программы, с помощью которых можно осуществлять данные операции, при этом качество изображения не становится хуже. Их принцип действия базируется на увеличении числа пикселей в той или иной фотографии, вследствие чего увеличивается разрешение, то есть размер воспроизводимого изображения. Такие программы можно найти в специальных магазинах или скачать из интернета, но лучше всего покупать лицензионные диски, а не скачивать пиратские копии, которые могут ухудшить работу вашего компьютера и сделают невозможной обработку фотографий на нем.

МАСШТАБ ИЗОБРАЖЕНИЯ

Отношение линейного размера изображения к линейному размеру предмета. Служит хар-кой проекционных систем и определяется их увеличением. Выбор М. и. диктуется размерами изображаемого объекта: у телескопа, фотоаппарата, глаза М. и. меньше единицы (у телескопа М. и. практически равен нулю), а у микроскопа, кино- и диапроекторов, фотоувеличителей, ионных проекторов и электронных микроскопов больше единицы. Если изображение получается с помощью неск. последоват. проекций, его М. и. определяется произведением М. и. каждой проекции в отдельности.

  • - отношение линейного размера изображения оптического к линейному размеру предмета. Служит характеристикой проекционных систем и определяется их линейным увеличением...

    Физическая энциклопедия

  • - , вторичные изображения предметов в оптич. приборах, появляющиеся в поле осн. изображения вследствие отражения света от поверхностей, ограничивающих оптич. детали...

    Физическая энциклопедия

  • - см. Химико-фотографическая обработка фотоматериалов...

    Химическая энциклопедия

  • - древние изображения на стенах пещер, на скалах и камнях, выполненные минеральными красками, резьбой, рельефом...

    Исторический словарь

  • - 1...

    Телекоммуникационный словарь

  • - недопустимый к применению термин; см. оцифровывание изображения...

    Краткий толковый словарь по полиграфии

  • - древние рисунки на стенах пещер, на открытых скальных поверхностях и на отдельных камнях. Известны во всех частях света и относятся к разным эпохам от палеолита до средневековья...

    Советская историческая энциклопедия

  • - изображения, допускающие различные соотношения «фигуры» и «фона» в зависимости от имеющихся у субъекта представлений...

    Большая психологическая энциклопедия

  • - условное исключение из изображения длинных предметов промежуточного участка с целью сокращения длины чертежа - прекъсване на изображение - přerušení obrazu - Bruch - ábrázolás megszakítás - дүрслэлийн тасралт - przerwa w ciągłości rysunku...

    Строительный словарь

  • - см. Мозер Людвиг-Фердинанд...

    Энциклопедический словарь Брокгауза и Евфрона

  • - рисунки, высеченные в древности на скалах в Бохуслене. Древнейшие относятся к бронзовому веку, самые поздние - к эпохе викингов...
  • - приём монтажного перехода от одного изображения к другому, когда на протяжении нескольких кадров изображение последующего кадра постепенно заменяет изображение предыдущего...

    Большая Советская энциклопедия

  • - петроглифы, писаницы, древние изображения на стенах и потолках пещер, на открытых скальных поверхностях и отдельных камнях...

    Большая Советская энциклопедия

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

    Большая Советская энциклопедия

  • - бронзового и железного веков: лодки с гребцами, колесницы, деревья, животные, солярные знаки, ритуальные процессии и битвы...
  • - древние изображения на стенах пещер, на скалах и камнях, выполненные краской, резьбой, рельефом и...

    Большой энциклопедический словарь

"МАСШТАБ ИЗОБРАЖЕНИЯ" в книгах

Масштаб изображения.

Из книги автора

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

Масштаб

Из книги Крутое пике [Америка и новый экономический порядок после глобального кризиса] автора Стиглиц Джозеф Юджин

Масштаб Пакет стимулов объемом почти в 800 млрд долл. на первый взгляд выглядел очень крупным. Планировалось, что он будет израсходован в течение более чем двух лет. Для экономики, размер которой составляет 14 трлн долл., объем помощи составлял менее 3 % годового ВВП.

Масштаб

Из книги Истоки постмодерна автора Андерсен Перри

Масштаб Классический авангард оставался западным, несмотря на то, что гетеродоксальные направления модерна, одним из которых он был, постоянно искали вдохновение на Востоке, в Африке, в индейской Америке. Работа Джеймисона выходит за эти западные рамки. Однако можно

Масштаб

автора Тоффлер Элвин

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

Масштаб

Из книги Война и антивойна автора Тоффлер Элвин

Масштаб Параллельно меняется и масштаб. Сокращения бюджета во многих (хотя никак не во всех) странах заставляют полководцев сокращать свои силы. Но в ту же сторону подталкивают и другие причины. Военные мыслители открывают для себя, что соединения поменьше - подобные

МАСШТАБ

Из книги Основы композиции. Учебное пособие автора Голубева Ольга Леонидовна

МАСШТАБ Церковь Петра и Павла в Кожевниках. 1406«Человек есть мера всех вещей» – такая фраза высечена на мраморе Дельфийского храма. Эти слова четко формулируют главную идею масштаба. Все, что создает человек, он делает для себя и по себе. Вот почему познакомившись со

Масштаб

Из книги Энциклопедический словарь (М) автора Брокгауз Ф. А.

Масштаб Масштаб (от Massstab – мерная палка) – отношение длины линии на плане или вообще чертеже к ее действительной длине. Местность может быть изображена на бумаге лишь в значительном уменьшении и потому М. планов и географических карт всегда очень мал; подробности

Масштаб

БСЭ

Масштаб цен

Из книги Большая Советская Энциклопедия (МА) автора БСЭ

ОТЛИЧИЕ ЧЕРНО-БЕЛОГО ИЗОБРАЖЕНИЯ ОТ ЦВЕТНОГО И РЕЗКОСТЬ ИЗОБРАЖЕНИЯ

автора Кораблев Дмитрий

ОТЛИЧИЕ ЧЕРНО-БЕЛОГО ИЗОБРАЖЕНИЯ ОТ ЦВЕТНОГО И РЕЗКОСТЬ ИЗОБРАЖЕНИЯ Для восприятия черно-белого изображения включаются механизмы детального восприятия изображения. То есть наш глаз постоянно анализирует линии, мелкие детали, сводит их в одно целое. Для этого мы

МАСШТАБ

Из книги Фотосъемка. Универсальный самоучитель автора Кораблев Дмитрий

МАСШТАБ В композиции важную роль играет такое понятие, как масштаб. Практически все люди и окружающие их предметы обычно имеют привычные размеры и пропорции.Масштаб непроизвольно связывается в нашем сознании с человеческим окружением. Например, мотоцикл, стоя на улице,

20.10.6 Масштаб

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

20.10.6 Масштаб Масштаб (gauge) - это целое число, которое ведет себя по-разному. Значения масштаба увеличиваются и уменьшаются. Масштабы используются для количественного описания, например длины очереди. Иногда значение масштаба растет, а иногда уменьшается.32-разрядный

Масштаб

Из книги Офисный компьютер для женщин автора Пастернак Евгения

Масштаб Кнопки этой группы позволяют увеличивать и уменьшать буквы на экране. На мой взгляд, куда удобнее пользоваться регулятором масштаба в нижнем правом углу окна, но раз уж они есть…Кнопка Масштаб открывает одноименное диалоговое окно (рис. 1.121). Рис. 1.121.

Масштаб изображения

Из книги Мастера слова. Секреты публичных выступлений автора Вайсман Джерри

Масштаб изображения Обычно на одни экраны выводятся слайды PowerPoint, на другие – тематические изображения, касающиеся темы выступления (деньги, люди за работой, высокотехнологичные устройства), а третьи показывают докладчика. В последнем случае используется технология

Глава 186: Станет ли недействительной молитва того, кто совершил её в одежде, на которой имеются изображения креста или иные изображения?

Из книги Мухтасар «Сахих» (сборник хадисов) автора аль-Бухари

Глава 186: Станет ли недействительной молитва того, кто совершил её в одежде, на которой имеются изображения креста или иные изображения? 238 (374). Сообщается, что Анас, да будет доволен им Аллах, сказал: «У ‘Аиши была тонкая шерстяная занавеска с узорами, которой она

Диагональные элементы -матрицы обобщенного преобразования задают локальное и общее масштабирование. Для иллюстрации этого рассмотрим преобразование

которое показывает действие локального масштабирования. Ниже приводится пример.

Пример 3-1 Локальное масштабирование

Рассмотрим прямоугольный параллелепипед , показанный на рис. 3-1а со следующими однородными координатами вершин:

.

Чтобы получить единичный куб из с помощью локального масштабирования, необходимы масштабные множители 1/2, 1/3, 1 вдоль осей , , соответственно. Преобразование локального масштабирования задается матрицей

.

Рис. 3-1 Трехмерные масштабирования.

Результирующий куб имеет следующие однородные координаты вершин:

.

Заметим, что однородный координатный множитель равен единице для каждой из преобразованных вершин. Результат масштабирования показан на рис. 3-1b.

Общее масштабирование можно осуществить, воспользовавшись четвертым диагональным элементом, т.е.

. (3-4)

Обычные или физические координаты имеют вид

.

Этот результат снова иллюстрируется на примере.

Пример 3-2 Общее масштабирование

Для общего масштабирования единичного куба, изображенного на рис. 3-1b, на множитель два (удвоение размера), необходимо преобразование (см. (3-4))

.

Полученный в результате параллелепипед имеет следующие однородные координаты вершин:

.

Заметим, что однородный координатный множитель для каждой из преобразованных вершин равен 0.5. Таким образом, для того чтобы получить обычные или физические координаты, каждый вектор необходимо разделить на . Результат, показанный на рис. 3-1с, равен

.

Заметим здесь, что, как и в случае двумерного общего масштабирования, однородный координатный множитель не равен единице. По аналогии с предыдущим обсуждением (см. разд. 2-18) это означает преобразование из физического объема в другой объем в 4-мерном пространстве. Преобразованные физические координаты получаются проецированием через центр 4-мерной координатной системы обратно в физический объем . Как и ранее, если , происходит однородное расширение. Если , происходит однородное сжатие координатного вектора.

Такой же результат можно получить, используя одинаковые коэффициенты локальных масштабирований. В этом случае матрица преобразования имеет вид

.

Отметим, что здесь однородный координатный множитель равен единице, т.е. . Таким образом, все преобразование происходит в физическом объеме .

Масштабирование изображения позволяет сжать или растянуть его по горизонтали и/или вертикали. При этом изменяется ширина и/или высота изображения. Для масштабирования задаются масштабные коэффициенты – то, насколько нужно сжать/растянуть изображение по горизонтали или вертикали. Масштабные коэффициенты могут задаваться в нормализованной, процентной или непосредственной форме. В нормализованной форме за единицу принимаются размеры исходного изображения. Значения меньше единицы указывают на сжатие изображения, значения больше единицы – на растяжение. В процентной форме нормализованные значения умножаются на 100 %. В непосредственной форме новые размеры по горизонтали и вертикали задаются в виде количества пикселей по тому или другому измерению.

Возникает вопрос о том, каким образом определять цвета при изменении размеров изображения. Существует два основных подхода к этой проблеме:

1. Цвет пикселя в масштабированном изображении принимается равным цвету ближайшего к нему пикселя исходного изображения.

2. Использование интерполяции. В этом случае цвет пикселя масштабируемого изображения вычисляется, как значение некоторой интерполирующей функции от цветов соседних пикселей в исходном изображении.

При использовании билинейной интерполяции цвет вычисляется, как взвешенная сумма ближайших четырёх пикселей исходного изображения (при увеличении) или как взвешенная сумма группы пикселей (при уменьшении).

Первый подход достаточно прост, но не всегда даёт приемлемое качество обработанного изображения. Например, если новый размер намного больше старого, то возникает блочная структура изображения, т. е. каждый пиксель исходного изображения соответствует квадратной области пикселей одного и того же цвета в обработанном изображении. Эта аномалия представлена на рис. 2.15.

С другой стороны, если новый размер намного меньше старого, то при масштабировании одному пикселю обработанного изображения соответствует группа пикселей исходного изображения, причём в процессе масштабирования фактически выбирается случайный пиксель из этой группы.



Рис. 2.15. Некорректное увеличение

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

Приведем простейшую формулу, которая позволяет определить ближайший пиксель исходного изображения (без использования интерполяции):

Параметр W определяет размер изображения по горизонтали, измеряемый в пикселях. Параметр H определяет размер по вертикали. Параметры i и j определяют соответственно строку и столбец матрицы изображения и изменяются в пределах высоты и ширины изображения соответственно.


15.Алгоритмы трёхмерного отсечения.

Прямоугольный параллелепипед

Усеченная пирамида

n Отсечение выпуклой многоугольной областью

n Выпуклый многоугольник = пересечение полуплоскостей, образованных сторонами многоугольной области

Алгоритм Сазерленда-Ходгмана

{ p – многоугольник, sp – полуплоскость, inp(p,sp) – лежит ли точка p в полуплоскости sp, add – добавление вершины в новый многоугольник }

p:=p[n]; ci:= inp(p[n],sp);

for i:=1 to n do begin

nci:= inp(p[i],sp);

if nci <> ci then begin

newp:=intersect(p,p[i],sp);

if nci then add(p[i]);

В результате отсечения получится многоугольник.

Проверка принадлежности полупространству

Нахождение отсечения на битовом уровне.

Прежде чем заняться обобщением изложенных методов для случая трех измерений, необходимо обсудить вопрос о форме отсекающего объема. Двумя наиболее распространенными формами трехмерных отсекателей являются: прямоугольный параллелепипед, т. е. полый брусок, используемый при параллельном или аксонометрическом проецировании, а также усеченная пирамида, часто называемая пирамидой видимости, которая используется при центральном проецировании. Эти формы показаны на рис.9.8, у каждой из них шесть граней: левая, правая, верхняя, нижняя, ближняя и дальняя. Существует, кроме того, необходимость отсекать и по нестандартным объемам.

Как и при двумерном отсечении, отрезки, которые полностью видимы или тривиально невидимы, можно идентифицировать с использованием обобщения кодов концевых точек Коэна-Сазерленда. В трехмерном случае используется 6-битовый код. Вновь самый правый бит кода считается первым. В биты кода заносятся единицы с помощью обобщения двумерной процедуры. Конкретно единица заносится:

в первый бит - если конец ребра левее объема,

во второй бит - если конец ребра правее объема,

в третий бит - если конец ребра ниже объема,

в четвертый бит - если конец ребра выше объема,

в пятый бит - если конец ребра ближе объема,

Рис 9.8 Трехмерное отсечение

В противном случае в соответствующие биты заносятся нули. И опять, если коды обоих концов отрезка равны нулю, то оба конца видимы и отрезок тоже будет полностью видимым. Точно так же, если побитовое логическое произведение кодов концов отрезка не равно нулю, то он полностью невидим. Если же это логическое произведение равно нулю, то отрезок может оказаться как частично видимым, так и полностью невидимым. В этом случае необходимо определять пересечения отрезка с гранями отсекающего объема.

Поиск кодов точки относительно отсекающего прямоугольного параллелепипеда является прямым обобщением соответствующего двумерного алгоритма. Однако случай, когда отсекателем служит усеченная пирамида, показанная на рис.9.8.b, заслуживает дополнительного обсуждения. Один из методов заключается в преобразовании отсекателя в каноническую форму, где x прав = 1, x лев = -1, y верх = 1, y низ = -1 при z даль = 1. Если z ближ = a, где 0 < a <= 1, а центр проекции совпадает с началом левой системы координат, то проверка кодов концевых точек заметно упрощается.

В более естественном методе, меньше искажающем форму отсекателя, отрезок, соединяющий центр проекции с центром усеченной пирамиды, совмещается с осью z правой системы координат, как это показано на рис.9.8,Ь.

Вид усеченной пирамиды сверху показан на рис. 9.9. а. Уравнение прямой на плоскости xz, несущей проекцию правой грани отсекателя, имеет вид:

x = (z - z цп) * x п / (z д - z цп) = za 1 + a 2 ,

где a 1 = x п / (z д - z цп) и a 2 = - a 1 z цп

Рис 9.9 Усеченная пирамида

Уравнение этой прямой можно использовать для определения местоположения точки: справа, на или слева от прямой, т. е. вне отсекателя, на плоскости, несущей его правую грань, или внутри отсекателя. Подстановка координат х и z точки Р в пробную функцию правой грани дает следующий результат:

│ п = x - za 1 - a 2 м >

н = 0, если Р на плоскости

о < 0, если Р слева от плоскости

Пробные функции для левой, верхней и нижней граней имеют вид:

│ л = zb 1 - b 2 м > 0, если Р справа от плоскости

н = 0, если Р на плоскости

о < 0, если Р слева от плоскости

где b 1 = x л / (z д - z цп) и b 2 = - b 1 z цп

│ в = y - zg 1 - g 2 м > 0, если Р выше плоскости

н = 0, если Р на плоскости

о < 0, если Р ниже плоскости

где g 1 = y в / (z д - z цп) и g 2 = - g 1 z цп

│ н = y - zd 1 - d 2 м > 0, если Р ниже плоскости

н = 0, если Р на плоскости

о < 0, если Р выше плоскости

где d 1 = y н / (z д - z цп) и d 2 = - d 1 z цп

Наконец, пробные функции для ближней и дальней граней имеют вид:

│ б = z - z б м > 0, если Р ближе плоскости

н = 0, если Р на плоскости

н = 0, если Р на плоскости

о < 0, если Р ближе плоскости

Чем ближе z цп к бесконечности, тем больше форма отсекателя приближается к прямоугольному параллелепипеду. Пробные функции при этом тоже приближаются к соответствующим пробным функциям прямоугольного параллелепипеда.

Как указывали Лианг и Барский, последний метод может дать некорректные значения кодов, если концы отрезка лежат за центром проекции. Это происходит потому, что плоскости, несущие левую, правую, верхнюю и нижнюю грани усеченной пирамиды, пересекаются в точке центра проекции. Поэтому существуют точки, расположенные одновременно левее левой и правее правой граней. Лианг и Барский предложили способ устранения этой неопределенности. Для этого в принципе необходимо лишь обратить значения первых четырех битов кода при z > z цп.

http://www.mari-el.ru/mmlab/home/kg/Lection9/index.html

16. Алгоритм плавающего горизонта.

Из презентации:

Удаление невидимых линий трёхмерного представления функции, описывающих поверхность в виде
F(x, y, z) = 0

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

n F(x, y, z) = 0 приводится к виду y=f(x,z) или x=g(y,z)

n Удаление невидимой линии:

n Если для текущего значения z , при некотором x значение y больше значений y для всех предыдущих кривых при том же x, то текущая кривая видима в точке (x, y) , иначе – не видима.

n Добавляется «нижний» горизонт

n Плавающий горизонт – два массива (по значениям x), задающих минимальное и максимальное значения y при различных z.

n Зазубренные боковые рёбра. Чтобы их избежать, добавляют мнимые боковые рёбра

Алгоритм Робертса

На входе – n тел. Требуется отрисовать их с удалением невидимых линий

    1. Определение нелицевых граней для каждого тела . Из каждого тела удаляются те рёбра и грани, которые экранируются самим телом.
    2. Определение и удаление невидимых рёбер. Каждое из видимых рёбер каждого тела сравнивается с каждым из оставшихся тел для выделения видимой части.

n Сложность алгоритма растёт как квадрат от количества тел.

n Работает в объектном пространстве.

n Требуется, чтобы все тела были выпуклы.

n Тело представляется набором плоскостей – своих граней.

n Грани задаются коэффициентами уравнения a x + b y + c z + d = 0.

n Всё тело – матрицей размера 4 x n.

Алгоритм Кэтмула

n Работает в пространстве изображения.

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

F(x, у, z) = 0.

Подобные функции возникают во многих приложениях в математике, технике, естественных науках и других дисциплинах.

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

На рис. 5.2. приведен пример, где указанные параллельные плоскости определяются постоянными значениями z. Функция F(x,у,z) = 0 сводится к последовательности кривых, лежащих в каждой из этих параллельных плоскостей, например к последовательности у=f(x,z) или х=g(у,z), где z постоянно на каждой из заданных параллельных плоскостей.

Рис. 5.2. Секущие плоскости с постоянной координатой

Итак, поверхность теперь складывается из последовательности кривых, лежащих в каждой из этих плоскостей, как показано на рис. 5.3.

Рис. 5.3. Секущие плоскости с постоянной координатой

Алгоритм сначала упорядочивает плоскости z = const по возрастанию расстояния до них от точки наблюдения. Затем для каждой плоскости, начиная с ближайшей к точке наблюдения, строится кривая, лежащая на ней, т. е. для каждого значения координаты х в пространстве изображения определяется соответствующее значение y. Алгоритм удаления невидимой линии заключается в следующем.

Если на текущей плоскости при некотором заданном значении x соответствующее значение у на кривой больше значения y для всех предыдущих кривых при этом значении x, то текущая кривая видима в этой точке; в противном случае она невидима.

Невидимые участки показаны пунктиром на рис. 5.4. Реализация данного алгоритма достаточно проста. Для хранения максимальных значений y при каждом значении x используется массив, длина которого равна числу различимых точек (разрешению) по оси x в пространстве изображения. Значения, хранящиеся в этом массиве, представляют собой текущие значения "горизонта". Поэтому по мере рисования каждой очередной кривой этот горизонт "всплывает". Фактически этот алгоритм удаления невидимых линий работает каждый раз с одной линией.

Алгоритм работает очень хорошо до тех пор, пока какая-нибудь очередная кривая не окажется ниже самой первой из кривых, как показано на рис. 5.5., а.

Рис. 5.5. Обработка нижней стороны поверхности

Подобные кривые, естественно, видимы и представляют собой нижнюю сторону исходной поверхности, однако алгоритм будет считать их невидимыми. Нижняя сторона поверхности делается видимой, если модифицировать этот алгоритм, включив в него нижний горизонт, который опускается вниз по ходу работы алгоритма. Это реализуется при помощи второго массива, длина которого равна числу различимых точек по оси x в пространстве изображения. Этот массив содержит наименьшие значения y для каждого значения x. Алгоритм теперь становится таким: если на текущей плоскости при некотором заданном значении x соответствующее значение y на кривой больше максимума или меньше минимума по y для всех предыдущих кривых при этом значении x, то текущая кривая видима. В противном случае она невидима.

Полученный результат показан на рис. 5.5., б.

В изложенном алгоритме предполагается, что значение функции, т. е. y, известно для каждого значения x в пространстве изображения. Однако если для каждого значения х нельзя указать (вычислить) соответствующее ему значение y, то невозможно поддерживать массивы верхнего и нижнего плавающих горизонтов. В таком случае используется линейная интерполяция значений y между известными значениями для того, чтобы заполнить массивы верхнего и нижнего плавающих горизонтов.

Изложенный алгоритм приводит к некоторым дефектам, когда кривая, лежащая в одной из более удаленных от точки наблюдения плоскостей, появляется слева или справа из-под множества кривых, лежащих в плоскостях, которые ближе к указанной точке наблюдения. Этот эффект продемонстрирован на рис. 5.6., где уже обработанные плоскости n-1 и n расположены ближе к точке наблюдения. На рисунке показано, что получается при обработке плоскости n+1. После обработки кривых n-1 и n верхний горизонт для значений x = 0 и x = 1 равен начальному значению y; для значений x от 2 до 17 он равен ординатам кривой n; а для значений 18, 19, 20 - ординатам кривой n-1. Нижний горизонт для значений x = 0 и x = 1 равен начальному значению y; для значений x = 2, 3, 4 - ординатам кривой n; а для значений x от 5 до 20 - ординатам кривой n-1. При обработке текущей кривой (n+1) алгоритм объявляет ее видимой при x = 4. Это показано сплошной линией на рис. 5.6. Аналогичный эффект возникает и справа при х = 18. Такой эффект приводит к появлению зазубренных боковых ребер. Проблема с зазубренностью боковых ребер решается включением в массивы верхнего и нижнего горизонтов ординат, соответствующих штриховым линиям на рис. 5.6. Это можно выполнить эффективно, создав ложные боковые ребра.

Рис. 5.6. Эффект зазубренного ребра

Если функция содержит очень острые участки (пики), то приведенный алгоритм также может дать некорректные результаты. Этот эффект вызван вычислением значений функции и оценкой ее видимости на участках, меньших, чем разрешающая способность экрана, т. е. тем, что функция задана слишком малым количеством точек. Если встречаются узкие участки, то функцию следует вычислять в большем числе точек.

Вариант 2 ответа на вопрос

Рассмотрим задачу построения графика функций двух переменных z=f(x,y) в виде сетки координатных линий x=const и y=const.

Заметим, что каждая линия семейства z=f(x,y i) лежит в своей плоскости y=y i , причем эти плоскости параллельны и, следовательно, не пересекаются. Поэтому при y j >y i линия z=f(x,y j) не может закрывать линию z=f(x,y i).

Тогда возможен следующий алгоритм построения графика функции z=f(x,y):

Линии рисуются в порядке удаления (возрастания по y) и при рисовании очередной линии рисуется только та ее часть, которая не закрывается ранее нарисованными линиями. Такой алгоритм называется методом плавающего горизонта.

Для определения частей линии z=f(x,y k), которые не закрывают ранее нарисованные линии, вводятся линии горизонта или контурные линии.

Пусть проекцией линии z=f(x,y k) на картинную плоскость является линия Y=Y k (X), где (X,Y) – координаты на картинной плоскости. Контурные линии Y k max (X) и Y k min (X)определяются следующими соотношениями:

· Y k max (X)=max Y i (X),

· Y k min (X)=min Y i (X), где 1<=k<=k-1

На экране рисуются только те части линии Y=Y k (X), которые находятся выше линии Y k max (X) или ниже линии Y k min (X).

Одной из наиболее простых и эффективных реализации данного метода является растровая реализация, при которой в области задания вводится сетка

{ (x j ,y j), i=1, n i }

и каждая из линий Y=Y k (X) представляется в виде ломаной. Для рисования сегментов этой ломаной используется модифицированный алгоритм Брезенхейма, который перед выводом очередного пиксела сравнивает его ординату с верхней и нижними контурными линиями, представляющими в этом случае массивы значений ординат.


17.Двумерные и трёхмерные преобразования тел

Из презентации:

Двумерные преобразования

Масштабирование изображений

Масштабирование заключается в изменении вертикального и горизонтального размеров изображения. Масштабирование может быть пропорциональным - в этом случае соотношение между высотой и шириной рисунка не изменяется, а меняется общий размер, и непропорциональным - в этом случае оба изме­рения изменяются по-разному.

Масштабирование векторных рисунков выполняется просто и без потери качества. Так как объекты векторной графики создаются по их описаниям, то для изменения масштаба векторного объекта, достаточно изменить его описание. Например, чтобы увеличить в два раза векторный объект, следует удвоить зна­чение, описывающее его размер.

Масштабирование растровых рисунков является намного более сложным процессом, чем для векторной графики, и часто сопровождается потерей качества. При изменении размеров растрового изобра­жения выполняется одно из следующих действий:

Одновременное изменение размеров
всех пикселей (в большую или меньшую сторону);

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

Простейший способ изменения мас­штаба растрового рисунка состоит в изме­нении размера всех его пикселей. Так как внутри самого рисунка пиксели не имеют размера и приобретают его уже при выво­де на внешнее устройство, то изменение размера пикселей растра в сильной степени похоже на масштабирование векторных объектов - необходимо сменить только описание пикселя, а остальное выполнит устройство вывода.

Устройство вывода для создания пикселя определенного физического размера использует столько своих минимальных элементов (лазерных точек - для лазерного принтера, видеопикселей - для монитора), сколько сможет. При масштабировании изображения количество входящих в него пикселей не меняется, а изменяется количество создаваемых устройством вывода элементов, идущих на построение отдельного пикселя изображения. На рис. 2 показан пример масштабирования растрового изображения - увеличения его в два раза по каждому измерению.

Выборка растрового рисунка может быть сделана двумя различными способами.

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

По второму способу с помощью определенных вычислений можно создать пиксели другого цвета, определяемого цветами первоначального пикселя и его окружения. Этот метод называется интерполяцией и является более сложным, чем простое дублирование. При интерполяции кроме дублируемых пикселей, отбираются и соседние с ними, с помощью которых вновь создаваемые пиксели получают от существующих усредненный цвет или оттенок серого. В результате переходы между пикселями становятся более плавными, что позволяет убрать или уменьшить эффект «пилообразного» изображения.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: