Cтраница 4
Алгоритм построчного сканирования с использованием z - буфера также может использоваться для изображения сцен, составленных из многоугольников. В отличие от интервального алгоритма, вде освещенность на сканирующей строке определяется большими прыжками - от интервала к интервалу, здесь анализируется каждый пиксел. Сканирующая строка пересекается с каждым многоугольником ( выпуклым) дважды: один раз при входе и один раз при выходе. До этапа определения видимости для каждой сканирующей строки буфер освещенности заполняется некоторым фоновым значением, а текущее значение глубины от рецептора до наблюдаемой точки фона заносится в z - буфер. Оба буфера представляют собой матрицы-строки с числом элементов, равным числу пикселов в строке. Далее анализируется каждый пиксел на сканирующей строке в интервале между входом в треугольник и выходом из него путем сравнения глубины этого пиксела с глубиной, содержащейся в z - буфере. Если рассматриваемый пиксел лежит ближе к наблюдателю, чем буферное значение, то отрезок, на котором лежит пиксел, будет невидимым. По параметрам соответствующего многоугольника вычисляют освещенность и новое значение глубины заносят в z - буфер. [46]
В список XSORT входят все отрезки, которые рассматривались на предыдущей сканирующей строке. Fright О после увеличения на 1), то многоугольник, частью которого является этот отрезок, помечается как изменяющийся. Фактически поле CHANGING ( изменение) в описании многоугольника используется для организации списка всех изменяющихся многоугольников. К изменяющимся относятся многоугольники, у которых есть ребра, начинающиеся или заканчивающиеся на данной сканирующей строке. [47]
Скорость воспроизведения, или смены кадра, составляет 30 кадр / с. Однако каждый кадр делится на два поля, каждое из которых содержит по половине картинки. Эти два поля чередуются или перемежаются. Сканирование начинается в верхнем левом углу экрана с нечетного поля. Каждая строка в поле сканируется или представляется слева направо. В то время как электронный луч движется поперек экрана слева направо, он также перемещается вертикально вниз, но с намного меньшей скоростью. Таким образом, горизонтальная сканирующая строка в действительности немного наклонена. При достижении правого края экрана луч становится невидимым и быстро возвращается к левому краю. Такой горизонтальный возврат луча обычно занимает около 17 % времени, отведенного для одной сканирующей строки. Затем этот процесс повторяется со следующей нечетной строкой. Луч после этого быстро переводится в центр верхней стороны экрана. Так осуществляется вертикальный перевод луча для нечетного поля. Время, затрачиваемое на него, эквивалентно времени, затрачиваемому на сканирование 21 строки. Затем показывается поле четных строк, после чего луч оказывается в нижнем правом углу. Перевод луча для поля четных строк возвращает его в верхний левый угол, и весь процесс повторяется снова. Данный метод существенно уменьшает мерцание, так как глаз воспринимает частоту воспроизведения полей. [49]
Для таких объектов достигается самая высокая вычислительная эффективность по сравнению с другими методами. Теоретически разработаны [69,144] и практически опробованы методы сканирующей строки для криволинейных поверхностей, однако их вычислительная эффективность сравнима с эффективностью метода трассирования лучей. Описываемый подход целесообразно применять для сцен без преломляющих и зеркально отражающих поверхностей. Изображение теней, как собственных, так и падающих, досп) жимо. Алгоритмы построчного сканирования делятся на интервальные и поточечные ( использующие z - буфер) для плоских элементов объекта и поточечные для криволинейных объектов. Рассмотрим первый из них, как наиболее характерный и эффективный. Сущность интервального метода заключается в проективном отображении линий-краев из трехмерного пространства в линии на двухмерном изображении, построчном определении видимости и вычислении яркости в интервалах, на которые строка изображения разбивается линиями-краями. Изображение прямой линии также является прямой линией [51], поэтому изменение факта видимости того или иного многоугольника может происходить только при переходе сканирующей строки через прямолинейную границу полей на изображении. Если многоугольники могут протыкать друг друга, то изменение видимости и освещенности может происходить не только при пересечении строки с изображениями ребер многоугольников, но и с изображениями-линиями попарного пересечения многоугольников. Уточним, что сканирующей строкой называют текущую строку рецепторов, вдоль которой происходит анализ многоугольников на видимость и соответственно определяется освещенность видимого многоугольника. Освещенность изображения плоских участков объекта есть величина постоянная, поэтому, определив освещенность в одной точке, ее можно распространить на все рецепторы, видящие данный плоский участок. [50]
Для таких объектов достигается самая высокая вычислительная эффективность по сравнению с другими методами. Теоретически разработаны [69,144] и практически опробованы методы сканирующей строки для криволинейных поверхностей, однако их вычислительная эффективность сравнима с эффективностью метода трассирования лучей. Описываемый подход целесообразно применять для сцен без преломляющих и зеркально отражающих поверхностей. Изображение теней, как собственных, так и падающих, досп) жимо. Алгоритмы построчного сканирования делятся на интервальные и поточечные ( использующие z - буфер) для плоских элементов объекта и поточечные для криволинейных объектов. Рассмотрим первый из них, как наиболее характерный и эффективный. Сущность интервального метода заключается в проективном отображении линий-краев из трехмерного пространства в линии на двухмерном изображении, построчном определении видимости и вычислении яркости в интервалах, на которые строка изображения разбивается линиями-краями. Изображение прямой линии также является прямой линией [51], поэтому изменение факта видимости того или иного многоугольника может происходить только при переходе сканирующей строки через прямолинейную границу полей на изображении. Если многоугольники могут протыкать друг друга, то изменение видимости и освещенности может происходить не только при пересечении строки с изображениями ребер многоугольников, но и с изображениями-линиями попарного пересечения многоугольников. Уточним, что сканирующей строкой называют текущую строку рецепторов, вдоль которой происходит анализ многоугольников на видимость и соответственно определяется освещенность видимого многоугольника. Освещенность изображения плоских участков объекта есть величина постоянная, поэтому, определив освещенность в одной точке, ее можно распространить на все рецепторы, видящие данный плоский участок. [51]