Реферат: Синтез голографического изображения с помощью компьютера

Министерство высшего образованияРФ

Новосибирский государственный университет

им. Ленинского комсомола

Физический факультет

Кафедра общейфизики

КУРСОВАЯ РАБОТА

‘’Синтез голографическогоизображения с помощью компьютера.’’

Выполнил: Грибанов ИгорьИгоревич гр.7332

Научный руководитель: КидаловШланг Прикидович

НГУ, 1999 г.

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">
Содержание.

 TOC o «1-3» Титульный лист… PAGEREF _Toc452458138 h 1

Содержание.… PAGEREF _Toc452458139 h 2

1.    Введение.… PAGEREF _Toc452458141 h 3

2.    Теория.… PAGEREF _Toc452458142 h 4

3.    Цифровая голография.… PAGEREF _Toc452458143 h 6

4.    Общая процедура изготовления синтезированнойголограммы… PAGEREF _Toc452458144 h 6

5.    Получение цифровой голограммы Фурье и ее бинаризация… PAGEREF _Toc452458145 h 8

6.    Результаты… PAGEREF _Toc452458146 h 13

7.    Заключение… PAGEREF _Toc452458147 h 13

8.    Литература.… PAGEREF _Toc452458148 h 14

Приложение (Программарасчёта на С++)… PAGEREF _Toc452458150 h 15

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">
«Именно работы по цифровойголографии во многом стимулировали появление компьютерной оптики каксамостоятельного научного направления на стыке квантовой электроники,вычислительной математики и информатики».1.<span Times New Roman"">   

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

Какие качественно новые свойства придают компьютерыоптическим системам? Главных свойств — два. Во-первых, это способность кадаптации и гибкость в перенастройке. Благодаря тому, что компьютер способен перестраиватьструктуру обработки сигнала без перестройки своей физической структуры, онявляется идеальным средством адаптивной обработки оптических сигналов и быстройперестройки ее на решение разных задач. Здесь речь идёт прежде всего обинформационной адаптации. Заметим попутно, что эта способность ЭВМ к адаптациии перестройке нашла также применение вактивной и адаптивной оптике для управления световыми пучками как переносчикамиэнергии.

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

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

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">
2.<span Times New Roman"">   

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

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

После того, как указанная характеристикасформирована в памяти ЭВМ, возникает задача переноса ее на физическую среду спомощью программно-управляемого технологического автомата. На этом этапе ролькомпьютера также очень велика.

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

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

В компьютерной оптике можно выделить следующиеосновные направления:

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

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

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;color:black;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
3.<span Times New Roman"">   

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

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

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

4.<span Times New Roman"">   

Для того, чтобы получить синтезированную голограмму,поступают следующим образом:

1)<span Times New Roman"">     

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

2)<span Times New Roman"">     

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

3)<span Times New Roman"">     

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

4)<span Times New Roman"">     

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

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

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

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

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

5.<span Times New Roman"">   Фурье и ее бинаризация

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

 

.

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

 

PRIVATE 

Рис.1 Расположение сеток. 

(1)

 

При этом суммарное число узлов сетки sП равно MN. Перейдем вплоскости П к новым координатам. Приняв размеры сетки Х=У=1, получаем:

. (2)

Следовательно, координаты узлов сетки sП выразятся так:

(3)

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

(4)

Соотношения между размерами сеток sП и sГ получим из (1) с учетом того, что и 

(5)

Выбор сеток в плоскостях П и Г означает, что всенепрерывные функции в этих плоскостях могут быть представлены своимидискретными значениями в узлах сетки. Эти значения теперь являются функцияминомеров узлов, т.е. m и n в плоскости П, p и q в плоскости Г. Для отличия отнепрерывных величин аргументы дискретных величин будем обозначать индексами,например Еmn, вместо Е(хm, уn), Аpq вместо А(р,q). Установим соответствие междуосновными физическими величинами, рассмотренными ранее, и их цифровымимоделями. Поле в плоскости П представим так:

(6)

дискретное преобразование Фурье от hmn определит соотношение:

(7)

Примем c учетом (6)

(8)

Цифровая модель голограммы Фурье будет иметь вид

(9)

где

(10)

Величину можноинтерпретировать как коэффициент двойного ряда Фурье от дискретной функции,заданной на двумерном интервале MN. При этом в уравненииголограммы последнее слагаемое является не чем иным, как косинуснымкоэффициентом Фурье изображения предмета. Сучетом изложеного уравнение цифровой голограммы Фурье, удобное для расчетов наЭВМ, принимает вид:

(11)

Здесь в общем случае имеем

(12)

(13)

(14)

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

При компьютерном расчете структуры голограммыисходной информацией является изображение, которое разбивают на отдельныеучастки в соответствии с выбранной сеткой (т.е. из изображения делают выборкузначений Еmn в узлах сетки), а также задаваемые параметры M, N, kГ, . В результате расчетадолжны быть получены величины прозрачностиголограммы в узлах сетки Г.

Основой вычисления является выполнение дискретногопреобразования Фурье (ДПФ), причем двумерное преобразование выполняется в дваэтапа: сначала по строкам, а затем по столбцам. Последовательность вычисленийпоказана на рис.2. Для выполнения одномерных преобразований используетсяалгоритм быстрого преобразования Фурье (БПФ).

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

Отпечатанную цифровую голограмму затем фотографируютс соответствующим уменьшением и используют для восстановления
 

PRIVATE 

Рис. 2 Последовательность вычислений  голограммы Фурье 

изображения оптическим путем. Очень часто голограммуФурье пеставляют в двоичном (бинарном) виде. В этом случае ее прозрачностьимеет только два значения: 0 или 1. Двоичную голограмму рассчитывают следующимобразом. Прозрачность голограммы как функцию пространственных частот обозначимчерез . Выберем некоторый порог А'.Если больше или равно А', товеличине сопоставим единицу, в противномслучае– нуль. Это возможно записать как

(17)

В данном случае 1 соответствует уровню белого, а 0 — черного. Окончательно получим

(18)

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

Киноформ

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

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

На компьютере рассчитываются дискретные значенияфазы объектной световой волны. Полученныезначения фазы обрабатываются таким образом, чтобы их отклонения от начальнойфазы лежали в интервале от 0 до 2pрадиан по всей области выборки, т.е. изкаждого значения фазы вычитаются величины, кратные 2pрадианам. В результатеполучается двумерный массив, состоящий из дискретных значений фазы

(19)

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

(20)

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

Из рассмотрения функции пропускания киноформа (20) следует, что для восстановленияисходного волнового фронта без искажений необходимо, чтобы константа с равнялась единице. Это означает, чтосвет, падающий на участок с фазой , будетзадерживаться ровно на одну длину волны по сравнению со светом, падающим научасток с фазой . Если такое согласование фаз былодостигнуто, то весь свет, падающий на киноформ, будет участвовать вформировании единственного (действительного или мнимого) изображениязаписанного обекта. В противном случае киноформ подобен осевой голограмме, вкоторой действительное и мнимое изображения частично накладываются; часть светадифрагирует в нулевой порядок, создавая яркое пятно в центре изображения.Качество изображения резко ухудшается. На практике согласование фаз достигаетсяпутем тщательного контроля процессов экспонирования и проявления уменьшенныхфотоснимков киноформа, а также отбеливания.<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">
6.<span Times New Roman"">   

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

7.<span Times New Roman"">   

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

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

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

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;color:black;mso-ansi-language:RU; mso-fareast-language:RU;mso-bidi-language:AR-SA">

.

8.<span Times New Roman"">   

1.Сисакян И.Н., Сойфер В.А. Компьютерная оптика. Достижения и проблемы //сб.«Компьютерная оптика» под ред. акад. Велихова Е.П. и акад. ПрохороваА.М., 1987, в.1, с.5-19.

2.Сойфер В.А. Компьютерная оптика //Соросовский образовательный журнал, 1998

3.Франсон М. Голография.- М.: Мир, 1972, 248 с.

4.Горохов Ю.Г., Неплюев Л.Н. Голография в приборах и устройствах.- М.:Энергия,1974, 80 с.

5.Федоров Б.Ф., Цибулькин Л.М. Голография.- М.: Радио и связь, 1989, 140 с.

6.Кузнецова Т.И. О фазовой проблеме в оптике //УФН, 1988, т.154, в. 4, с.677-690.

7.Воронцов М.А., Шмальгаузен В.И. Принципы адаптивной оптики.- М.: Наука, 1985,336 с.

8.Воронцов М.А., Корябин А.В., Шмальгаузен В.И. Управляемые оптические системы. — М.: Наука, 1988, 270 с.

9.Гроссо Р., Еллин М. Мембранное зеркало как элемент адаптивной оптическойсистемы //Сб. статей «Адаптивная оптика» под ред. Э.А. Витриченко — М.: Мир, 1980, с. 428-447.

10.Ярославский Л.П. Цифровая обработка полей в оптических системах. Цифроваяоптика. //сб. «Новые физические принципы оптической обработкиинформации» под ред. С.А. Ахманова и М.А. Воронцова, — М.: Наука. Гл. ред.физ.-мат. лит., 1990, 400 с.

11.Мирошников М.М., Нестерук В.Ф. Развитие методологии иконики и ее структурнойсхемы //Труды Государственного оптического института им. С.И. Вавилова, 1982,т. 57, в. 185, с. 7- 13.

12.Сойфер В.А. Компьютерная обработка изображений. Часть 1. Математические модели//Соросовский образовательный журнал, 1996, №2, с.118-124.

13.Сойфер В.А. Компьютерная обработка изображений. Часть 2. Методы и алгоритмы//Соросовский образовательный журнал, 1996, №3, с.110-121.

<span Arial",«sans-serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language:AR-SA">
Приложение<span Times New Roman",«serif»">Программа расчёта на С++<span Times New Roman",«serif»">

//*************************************************************

#include<iostream.h>

#include<math.h>

#include<fstream.h>

const intSIZE = 1000; //размер голограммы

const intSIZE2 = 500; //

floathol[SIZE][SIZE]; //заводим выходной массив

ofstreamoutfile; //для вывода в файл

//***********************************************************

int main()

{

outfile.open(«data.hol»);//открываем файл

int h;//определяем переменные для использования в циклах

int i;

int j;

float x;

float y;

float z;

const intnumOfPoints=2; //количество источников точек

float object[numOfPoints][3];//содержит точки объекта

object[0][0]= float(SIZE2); //define the objects

object[0][1]= float(SIZE2);

object[0][2]= float(1000);

object[0][0]= float(SIZE2+50); //определяем объекты

object[0][1]= float(SIZE2+50);

object[0][2]= float(1000);

//************************************************************

//инициализируемhol

for(i=0;i<SIZE;i++)

{for(j=0;j<SIZE;j++)

hol[i][j] = 0;

}

//************************************************************

//рассчитываемполя

h=0;//инициализация

while ( h< numOfPoints) //циклимся по всем точкам

{

x=object[h][0];

y=object[h][1];

z=object[h][2];

i = 0;//сброс в ноль

while(i<SIZE) //цикл по рядам

{

cout<<i<<" ";

j=0;

while(j<SIZE)//цикл по колонкам

{

hol[i][j]= hol[i][j] +

cos(sqrt(float(

(x-(i))*(x-(i))//рассчитываем расстояние

+(y-(j))*(y-(j))

+(z*z)))); //берём косинус посчитанного поля

j++;//инкремент колонки

}

i++;//инкремент ряда

}

h++;//переходим к следующей точке

}

//************************************************************

//оцифровкаматрицы

i=0;//ряд

while(i<SIZE)

{

j=0;//колонка

while(j<SIZE)

{

if(hol[i][j]>0) //устанавливаем в 1 для всех значений >1

hol[i][j]= int(1);

else // 0– для всех остальных

hol[i][j]= int(0);

j++;//колонка

}

i++;//ряд

}

//*************************************************************

//записьв файл

i=0;

while(i<SIZE)

{

j=0;//колонки

while(j<SIZE)

{

outfile<<hol[i][j]<<"";

j++;

}

outfile<<endl;//в конце ряда – перевод строки

i++;

}

return 0;

}

еще рефераты
Еще работы по программированию, базе данных