Благодаря современным технологиям объектно-ориентированного программирования в наше время стало возможным быстрое и удобное создание приложений под ОС Windows. Современные компьютерные программы позволяют удобно и наглядно продемонстрировать тот или иной физический процесс. Представленная программа моделирует упругое рассеяние фотонов электронами, которое приводит к смещению длины волны рентгеновского излучения. Данное явление носит название эффекта Комптона. В простейшем случае эффект Комптона представляет собой рассеяние монохроматических рентгеновских лучей легкими веществами (графит, парафин и др.), и при теоретическом рассмотрении Комптон-эффекта в этом случае электрон считается свободным. Эффект подтверждает идею о том, что рентгеновские лучи представляют собой поток фотонов, обладающих определенным импульсом и энергией.
Сегодня эффект Комптона находит применение в астрофизике: гамма-лучи от космических объектом подвергаются многократному рассеянию, пока их энергия не падает до длин волн рентгеновской части спектра, после чего их можно анализировать на стандартных рентгенографических установках. Подобный детектор был в 1991 году выведен НАСА на орбиту в составе Гамма-лучевой обсерватории имени Комптона.
Программа разработана в среде Вогlаnd Delphi 7 с использованием технологии объектно-ориентированного программирования. Для визуального оформления также использовались обращения к функциям АРI Windows.
Использование функций АРI Windows позволяет оптимизировать приложение с целью получения максимально эффективного отображения графики и увеличения наглядности физического процесса.
Программа показывает движение падающего фотона, движение фотона, отклоненного при столкновении с электроном на определенный угол, который можно задавай, в окне программы, как и длину волны фотона. Результатом выполнения программы является вывод смещения длины волны рентгеновского излучения (т.е. потока фотонов с точки зрения корпускулярной теории), энергии и импульса электрической отдачи.
Приложение позволяет динамически изменять задаваемые физические параметры в ходе демонстрации, а также изменять некоторые параметры пользовательского интерфейса.