Автор: Пользователь скрыл имя, 24 Декабря 2012 в 04:43, курсовая работа
Хроматическая аберрация заключаются в паразитной дисперсии света, проходящего через оптическую систему (фотографический объектив, бинокль, микроскоп, телескоп и т.д.). При этом белый свет разлагается на составляющие его цветные лучи, в результате чего изображения предмета в разных цветах не совпадают в пространстве изображений.
Целью работы является разработка программы для проведения и визуализации вычислительных экспериментов по теме «Хроматическая аберрация».
ВВЕДЕНИЕ 3
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ АБЕРРАЦИЙ ОПТИЧЕСКИХ СИСТЕМ 5
1.1. Предметная область 5
1.2. Хроматическая аберрация 8
1.3. Хроматизм положения 10
1.5. Хроматизм увеличения 12
1.6. Принципы ахроматизации оптических систем 15
1.7. Уменьшение и исправление эффекта хроматической аберрации 19
ГЛАВА 2. РАЗРАБОТКА ПРОГРАММЫ «ХРОМАТИЧЕСКАЯ
АБЕРРАЦИЯ» 22
2.1. Назначение и функциональные возможности программы 22
2.2. Интерфейс программы 22
2.3. Вычислительный эксперимент 25
ЗАКЛЮЧЕНИЕ 28
СПИСОК ЛИТЕРАТУРЫ 30
ПРИЛОЖЕНИЕ 31
Рис. 2.2. Проведение экспериментов
Для удобства восприятия при изменении фокуса линзы динамически изменяется ее форма. (рис. 2.3).
Рис. 2.3. Настройка расстояния до фокуса линзы.
Выход из программы осуществляется нажатием на кнопку, расположенную в верхней правой части экрана.
Рассмотрим несколько примеров работы программы.
Модель показывает преломление и спектр света, проходящего через собирательную линзу.
Исходные данные приведены в таблице 3.1.
Таблица 3.1.
Исходные данные.
№ |
Параметр |
Обозначение |
Значение |
Несферическая поверхность линзы (коэффициент) |
v1 |
1 | |
Длина волны красный |
v21 |
0,5 | |
Длина волны зеленый |
v22 |
0,4 | |
Длина волны синий |
v23 |
0.3 | |
Высота линзы (cм) |
d |
15 |
Рис. 2.4. Фокусное расстояние f=20.
Рис. 2.5. Фокусное расстояние f=30.
Анализируя графики рис 2.4. и 2.5. видим, что эффект хроматической аберрации тем сильнее, чем больше кривизна линзы и следовательно меньше фокусное расстояние. Это действительно подтверждается аналитическими формулами, следовательно программа работает правильно.
Теория геометрических аберраций устанавливает функциональную зависимость аберраций от координат падающего луча и конструктивных элементов оптической системы — от радиусов её поверхностей, толщин, показателей преломления линз и т. д.
Теория аберраций ограничивается приближённым представлением составляющих аберраций (δg ' и δG' ) в виде ряда, члены которого содержат некие коэффициенты (суммы переменных) а1, а2,…аk, зависящие только от конструктивных элементов оптической системы и от положения плоскостей объекта и входного зрачка, но не зависящие от координат луча. Так например, меридиональная составляющая аберрации третьего порядка может быть представлена формулой: , где и — координаты луча, входящие в качестве сомножителей членов ряда.
Число таких коэффициентов аберраций третьего порядка равно пяти и, как правило, они обозначаются буквами SI, SII, SIII, SIV, SV. Причём, в целях упрощения анализа, предполагают, что в формулах только один из коэффициентов не равен нулю, и определяет соответствующую аберрацию.
Каждым из пяти коэффициентов определяется одна из так называемых пяти аберраций Зайделя:
SI — сферическая аберрация;
SII — кома;
SIII — астигматизм;
SIV — кривизна поля (поверхности) изображения;
SV — дисторсия.
В реальных системах отдельные виды монохроматических аберраций почти никогда не встречаются. В действительности, наблюдается сочетание всех аберраций, а исследование сложной аберрационной фигуры рассеяния методом выделения отдельных видов аберраций (любого порядка) — не более чем искусственный приём, облегчающий анализ явления.
Курсовой проект посвящен исследованию хроматической аберраций и выполнен с использованием языка высокого уровня Visual Basic.
Разработка проекта проходила в несколько стадий, заключавшихся в изучении предметной области задачи; изучении основных законов оптических систем, разработке самой программы, позволяющей моделировать траектории прохождения пучка света через линзы.
Программный продукт был протестирован в системах MS Windows XP, MS Windows 2003. В процессе тестирования ошибок выявлено не было.
Программный продукт обладает простым и удобным визуальным интерфейсом. Проведены вычислительные эксперименты, работоспособность программы.
В процессе разработки курсовой работы закреплены практические навыки программирования, полученные на лабораторных занятиях по дисциплине "Высокоуровневые методы информатики и программирования", углублены теоретические и практические знаний в области методологии программирования и разработки программных комплексов.
Так же курсовая работа поспособствовала развитию навыков самостоятельного планирования и выполнения научно-исследовательской работы, получению опыта сбора и обработки исходного материала, анализа научно-технической литературы, справочников, стандартов и технической документации, приобретению навыков обоснования принимаемых проектных решений и профессионального оформления проектной документации.
Разработанный программный продукт может быть в дальнейшем использован для моделирования и проведения экспериментов на занятиях по физике. Также может быть рекомендован в качестве дополнительного программного обеспечения студентам и преподавателям по дисциплинам физика и программирование.
Таким образом, цели и задачи курсового проекта выполнены.
Листинг программы
VERSION 5.00
Begin VB.Form Form1
BorderStyle = 1 'Fixed Single
Caption = "Хроматическая аберрация"
ClientHeight = 7185
ClientLeft = 2295
ClientTop = 2010
ClientWidth = 10215
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 7185
ScaleWidth = 10215
Begin VB.CommandButton Command1
Caption = "Эксперимент"
Height = 255
Left = 3000
TabIndex = 4
Top = 6840
Width = 4335
End
Begin VB.HScrollBar HScroll1
Height = 255
Left = 2640
Max = 40
Min = 8
TabIndex = 1
Top = 6480
Value = 20
Width = 5055
End
Begin VB.PictureBox Picture1
Height = 6255
Left = 0
ScaleHeight = 6195
ScaleWidth = 10155
TabIndex = 0
Top = 0
Width = 10215
End
Begin VB.Label Label2
Caption = "20"
Height = 255
Left = 7920
TabIndex = 3
Top = 6480
Width = 855
End
Begin VB.Label Label1
Caption = "Фокус"
Height = 255
Left = 1920
TabIndex = 2
Top = 6480
Width = 615
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim x, y, t, r, X0, Y0, vx, vy, i, k As Double
Dim m, j, v2x, v2y, b As Double
Dim com As Double
Dim v21x, v21y, v22x, v22y, v23x, v23y As Double
Dim x1, x2, x3, y1, y2, y3 As Double
Const d = 15
Const dt = 0.1
Const v1 = 1
Const v21 = 0.5
Const v22 = 0.4
Const v23 = 0.3
Private Sub Command1_Click()
X0 = -2
For Y0 = -7 To 7 Step 0.2
vx = 1
x = X0
y = Y0
'Направление светового луча
For i = 1 To 10 Step 0.1
x = x + vx * dt
If Picture1.Point(x, y) = RGB(160, 160, 250) Then Exit For
Picture1.PSet (x, y), RGB(255, 255, 255)
Next i
'Направление светового луча в линзе
'Красный луч
x1 = x
y1 = y
i = Atn(y / Sqr(r ^ 2 - y ^ 2))
m = v21 / v1 * Sin(i)
j = Atn(m / Sqr(Abs(1 - m ^ 2)))
b = i - j
v21x = v21 * Cos(b)
v21y = -v21 * Sin(b)
While Picture1.Point(x1, y1) <> RGB(0, 0, 0)
Picture1.PSet (x1, y1), RGB(255, 0, 0)
x1 = x1 + v21x * dt
y1 = y1 + v21y * dt
Wend
'зелёный луч
x2 = x
y2 = y
i = Atn(y / Sqr(r ^ 2 - y ^ 2))
m = v22 / v1 * Sin(i)
j = Atn(m / Sqr(Abs(1 - m ^ 2)))
b = i - j
v22x = v22 * Cos(b)
v22y = -v22 * Sin(b)
While Picture1.Point(x2, y2) <> RGB(0, 0, 0)
Picture1.PSet (x2, y2), RGB(0, 255, 0)
x2 = x2 + v22x * dt
y2 = y2 + v22y * dt
Wend
'синий луч
x3 = x
y3 = y
i = Atn(y / Sqr(r ^ 2 - y ^ 2))
m = v23 / v1 * Sin(i)
j = Atn(m / Sqr(Abs(1 - m ^ 2)))
b = i - j
v23x = v23 * Cos(b)
v23y = -v23 * Sin(b)
While Picture1.Point(x3, y3) <> RGB(0, 0, 0)
Picture1.PSet (x3, y3), RGB(0, 0, 255)
x3 = x3 + v23x * dt
y3 = y3 + v23y * dt
Wend
'Направление светового луча
'красный луч
i = b
m = v1 / v21 * Sin(b)
com = Sqr(1 - m ^ 2)
v21x = v1 * com
v21y = -v1 * m
While (x1 < 32) And (y1 < 9) And (y1 > -9)
x1 = x1 + v21x * dt
y1 = y1 + v21y * dt
Picture1.PSet (x1, y1), RGB(255, 0, 0)
Wend
'зелёный луч
i = b
m = v1 / v22 * Sin(b)
com = Sqr(1 - m ^ 2)
v22x = v1 * com
v22y = -v1 * m
While (x2 < 32) And (y2 < 9) And (y2 > -9)
x2 = x2 + v22x * dt
y2 = y2 + v22y * dt
Picture1.PSet (x2, y2), RGB(0, 255, 0)
Wend
'синий луч
i = b
m = v1 / v23 * Sin(b)
com = Sqr(1 - m ^ 2)
v23x = v1 * com
v23y = -v1 * m
While (x3 < 32) And (y3 < 9) And (y3 > -9)
x3 = x3 + v23x * dt
y3 = y3 + v23y * dt
Picture1.PSet (x3, y3), RGB(0, 0, 255)
Wend
Next Y0
End Sub
Private Sub Form_Activate()
Picture1.Cls
Picture1.Scale (-3, 9)-(32, -9)
Информация о работе Моделирование физических процессов. Хроматическая аберрация