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


перейти к полному списку дипломных проектов

Ссылка на скачивания файла в формате .doc находится в конце странички

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

Например, матрица проектирования на плоскость

0yz вдоль оси 0x имеет следующий вид:

Если M(x,y,z) – заданная точка, то соответствующая ей точка на плоскости изображения находится так:v

Таким образом, точка M проектируется в точку M*(0,y,z).

В случае, если плоскость проектирования параллельна координатной

плоскости 0yz, матрица несколько изменяется:

Аналогично записываются матрицы проектирования на две другие координатные плоскости вдоль соответствующих координатных осей:

Матрицы, соответствующие другим случаям взаимного расположения проектирующего пучка параллельных лучей и координатной системы, разумеется, также существуют. Рассмотрим, например, случай косоугольного проектирования, при котором пучок прямых пересекает координатную плоскость 0xy по углом 45o (кабинетная проекция). Тогда соответствующая матрица будет иметь следующий вид:

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

x*=a1x+b1y+c1z+d1,

y*=a2x+b2y+c2z+d2,

z*=a3x+b3y+c3z+d3.

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

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

Рассмотрим частный случай для вращения:

матрица поворота вокруг оси 0x.

матрица поворота вокруг оси 0y.

матрица поворота вокруг оси 0z

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

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

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

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

Основной недостаток алгоритма - большой объем требуемой памяти.

скачать бесплатно Визуализация инженерных и научных расчетов

Содержание дипломной работы

pas (продовження) Государственный комитет РФ по высшему образованию
Рассмотрены вопросы освещения, защиты от излучений, электро- и пожаробезопасности, защиты от шума и вибрации, психофизические опасные и вредные факторы
1 Обзор средств визуализации инженерных и научных расчетов Использование вычислительной техники для визуализации и анализа научных данных стало уже традиционным
Визуально такую поверхность часто представляют либо в виде трехмерного изображения, либо в виде линий уровней
Для вращения изображения достаточно разместить мышь на поле графического вывода, нажать левую кнопку мыши и затем, оставаясь на поле вывода, перемещать мышь в произвольном направлении
Последнее выбрано исходя из соображений совместимости не только с Fortran-программами, но и с C/C++ и даже Pascal-программами
Графически структуру программы можно изобразить как это сделано на рис 4 (оговоримся сразу – это не блок-схема программы, это только схематичное изображение структуры)
Команды программы Скриптовый режим программы Запуска программы
Pre-файл (от preset – предварительные установки)– это файл с установками, необходимыми для работы программы, а также с оформлением шкал
будет отображаться массив с изменяющейся координатой X и постоянной координатой Y)
Кроме этого, первые две строки скрипта это имена pre-файла и файла данных соответственно
23456E+02 с пробелом в начале если число положительное и знаком ‘ - ‘ если отрицательное
5E", M[i][j]); fputs(str,f); fprintf(f,”\n”); } fclose(f); } Здесь формируется массив M[20]][20] (необходимо помнить, что в C массивы начинаются с 0) и заполняется функцией M[i][j]=i+sin(j)
Как и всякий процесс, написание программ обработки результатов для последующего графического вывода и вывод имеет свою технологию
Информация может передаваться через оперативную память (ОЗУ), через файловую систему в виде бинарных файлов или, более объемных, текстовых файлов
Негативная сторона заключается в затратах на обучение программистов, а так же в затратах на оболочки визуализации
Самым простым является тот, когда прямые перпендикулярны плоскости изображения, а сама эта плоскость является одной из координатных плоскостей или параллельна ей
Поскольку элементы сцены или картинки можно заносить в буфер кадра или в z-буфер в произвольном порядке, их не нужно предварительно сортировать по приоритету глубины
Создание интерфейса пользователя Этот этап выделен как заключающий, потому что от вида интерфейса зависит только удобство работы с программой
Оговоримся сразу, что использование созданного ПО предполагается в рамках университетской программы, к тому же работающей по расчетам программ инженеров
Таким образом, оценка конкурентоспособности товара подразумевает сопоставление значений показателей качества товара фирмы с показателем качества товара конкурента
Сравнение цен потребления производится по формуле (2): где Э – общий показатель по экономическим параметрам; Цпа – цена потребления анализируемого изделия; Цпк – цена потребления товара-конкурента
При рассмотрении вопросов охраны труда большое внимание уделяется производственному освещению, оздоровлению воздушной среды, защите от шума, электробезопасности, пожарной безопасности и др
Свечение со стороны экрана, а также частая смена заставок на экране при большой продолжительности трудовой деятельности может отрицательно воздействовать на зрение
Кроме того, любой монитор, работающий не на ЭЛТ, имеет то преимущество, что не излучает переменных компонент, связанных с наличием систем вертикального и горизонтального отклонения электронного луча
) прокладки; - применение на рабочих местах звукогасящих экранов; - отделение помещений с высоким уровнем шума от других помещений звукоизолирующими перегородками
м/час на одного работника, а в помещениях объемом 20 - 40 кубометров на одного работающего - не менее 20 куб
Программа согласуется с инженерными программами на языках C++ и Fortran и может быть использована как на этапе отладки, так и на этапе демонстрации
Москва

заработать

Закачай файл и получай деньги