Разработка программы, моделирующая муаровый эффект

Автор работы: Пользователь скрыл имя, 26 Января 2014 в 14:29, курсовая работа

Краткое описание

Цель исследования: изучение и разработка программного обеспечения для моделирования электронно-проекционного метода. В процессе исследования и разработки модели электронно-проекционного метода использовались следующие программные приложения: Visual Basic 2005, DirectX 9.0с SDK, MathCAD 13, 3D Studio Max 6.0. Была разработана программа по моделированию муарового эффекта. Были получены различные муаровые картины. Область применения: данная разработка может быть использована в исследовании муаровых методов, демонстрации муарового эффекта, определения деформаций на различных поверхностях.

Содержание

Введение 5
1 Муаровый эффект 6
1.1 Природа муарового эффекта 6
1.2 Классификация муаровых методов 7
1.3 Муаровые методы 10
1.4 Математическая модель исследования топологии поверхностей электронно-проекционным муаровым методом 14
2 Выбор аппаратно-программных средств разработки 18
3 Разработка программного обеспечения для моделирования муарового эффекта 19
3.1 Основной алгоритм программы, модулирующий муаровый эффект 19
3.2 Интерфейс программы 22
Заключение 31
Список использованных источников 32

Прикрепленные файлы: 1 файл

Курсовой.doc

— 1.84 Мб (Скачать документ)

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

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

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

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

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

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

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

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

 

  1. Функциональная схема

Цифрами обозначены следующие  элементы системы:

    1. Исследуемая поверхность;
    2. Цифровая фотокамера;
    3. Мультимедийный проектор;
    4. Компьютер.

ЭВМ синтезирует решетку  с заданными параметрами, после  чего подготовленная сетка проецируется на объект мультимедийным проектором

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

Заключительным этапом обработки является расчет высот, расстояний от плоскости мнимого растра до соответствующих  точек поверхности объекта.

Таким образом; получаем дискретную картину топологии поверхности.

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

  1. Математическая модель исследования топологии поверхностей электронно-проекционным муаровым методом

Перейдем к описанию математической стороны метода.

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

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

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

 

  1. Оптическая модель

На поверхность объекта  проецируется матрица рабочего растра. Вынесенная на расстояние r камера совмещена оптической осью с осью проектора в точке O, принадлежащей поверхности объекта исследования. При этом камера имеет наклон α по отношению к креплению. Картина полос на объекте преобразуется цифровой камерой в матрицу пикселей рабочего растра. В компьютере, на основе информации о толщине полос рабочего растра и избранного расстояния d от точки O до плоскости мнимого растра, генерируется сам мнимый растр. Далее, центры светлых полос проектного растра и центры темных полос мнимого растра совмещаются на предмет совпадения. Точки, где имеет место такое совпадение это точки центров мировых полос.

Рассмотрим, как формируются  координаты точек центров темных мнимого растра в зависимости  от параметров r, α, d и шага полос рабочего растра s.

Определим угол β как  угол между оптическими осями  проектора и камеры. Тогда β = 90° - α.

Координаты центров:

 


 

где

 

,

.


 

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

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

 

,
при

,
при
.


 

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

  1. Выбор аппаратно-программных средств разработки

Сейчас доступно множество  средств разработки приложений по моделированию, выбор встал на следующем программном обеспечение:

    • Новые технологии позволяют использовать модули, написанные на разных языках программирования, в одной программе[5]. Эту технологию поддерживает Microsoft Visual Studio .NET 2005 в состав которой входит Visual Basic 2005. VB 2005 - язык программирования высокого уровня, отвечает всем требованиям безопасности приложений, современный, легко изменяемый код, объектно-ориентированное программирование и работа с 3D-приложениями дает новые возможности по созданию высокотехничных приложений.
    • Средство 3D-моделирования DirectX 9.0c, использует современные наработки, обеспечивает связь между средством программирования и драйвером видеокарты. Компонент Direct3D обеспечивает широкие возможности при построении 3Д пространство.
    • Пакет Microsoft .Net Framework необходим для корректного функционирования программ написанных на VB 2005 или выше. Включает в себя ряд компонентов, таких как компиляторов, программ тестирования и защиты приложений.

Для быстрой и надежной работы выбранного программного обеспечения  необходим современный компьютер. Требования к аппаратной части:

      1. Системный блок со следующими характеристиками:
        • Процессор Intel Pentium IV 2.0ГГц
        • Оперативной памяти 256Мб
        • Свободное место на жестком диске 100Мб
        • Видеокарта NVidia GeforceFX5200 128Мб с поддержкой DirectX9.0
      2. Монитор с поддержкой расширения не меньше чем 800x600x24
  1. Разработка программного обеспечения для моделирования муарового эффекта

Проект разработан в Visual Basic 7.0 [3]. Программное обеспечение для гибкости состоит из трех модулей:

    1. model – модуль графического интерфейса и управления, расчета;
    2. rendering – модуль, работающий с 3Д миром;
    3. bmpbrowser – модуль для отображения растровых данных.

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

    1. Основной алгоритм программы, модулирующий муаровый эффект

Последовательность действий:

  1. Создаем рабочий растр с заданным углом поворота вокруг центра растра и шагом линий. Этот пункт выполняется вызовом функций CreatLine(ByVal TResol As Byte, ByRef Mas2D(,) As Byte, ByVal Stp As Integer, ByVal Pix4 As Integer, ByVal Alpha As Single),  где:

TResol  - выбор разрешающей способности, соответствует элементам массивов fWidth() и fHeight(), текущее разрешение хранится в нулевой ячейке;

Mas2D(,) – двухмерный выходной массив, объектный растр;

Stp – шаг растра;

Pix4 – длина шаг черных полос, в текущем проекте Pix4 = Stp/2;

Alpha – угол поворота задается в градусах.

Затем данные из массива сохраняется в bmp-файле с помощью процедуры SaveToFile(ByVal TResol As Byte, ByVal Mas2D(,) As Byte, ByVal FName As String), где :

Tresol – выбор разрешающей способности;

Mas2D(,) – двухмерный массив, является входным параметром, объектный растр;

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

  1. Накладываем его на объект с позиции проектора. Перед этим используя процедуру Camera() получаем растр с учетом искажений. Процедура имеет следующие параметры Camera(ByVal TResol As Byte, ByVal Mas2D(,) As Byte, ByRef MasCam(,) As Byte, ByVal h As Integer), где:

Mas2D(,) – двухмерный массив, является входным параметром, объектный растр;

MasCam(,) – двухмерный массив, является выходным параметром, растр с учетом искажений;

h – расстояние от проектора до поверхности.

Так же данные из MasCam(,) сохраняются в bmp-файл, процедурой SaveToFile(). После чего переменную NewRast устанавливаем в положение True, это означает, что модуль rendering должен принять новый рабочий растр и наложить его на объект(поверхность). Поверхность создается,  процедурой CreateVertexBuffer(ByVal sender As Object), где sender – это объект VertexBuffer(набор вершин примитивов).

Информация о работе Разработка программы, моделирующая муаровый эффект