Программа для построения графика гипотрохоиды
Автор: mashuut • Ноябрь 11, 2019 • Курсовая работа • 8,650 Слов (35 Страниц) • 894 Просмотры
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра РЭС
ОТЧЕТ
по курсовой работе
по дисциплине «Информационные технологии»
Тема: “Программа для построения графика гипотрохоиды”
Студентка гр. 8183 | Черномор М. Д. | |
Преподаватель | Ситников И. Ю. |
Санкт-Петербург
2019
Оглавление
Введение. 3
Формализованная постановка задачи. 3
Разработка приложения. 3
Выбор и описание переменных. 4
Диаграммы. 5
Диаграмма классов. 5
Диаграмма потоков данных. 6
Разработка пользовательского интерфейса. 6
Контрольные примеры. 7
Вывод. 9
Код программы. 9
Источники. 26
Введение.
Данная программа предназначена для построения графика гипотрохоиды с изменяемыми параметрами. Для управления графиком присутствуют такие функции как: изменение скорости отрисовки, увеличение и уменьшение масштаба графика, перемещение вдоль осей X и Y и сохранение изображения графика в формате BMP.
Формализованная постановка задачи.
Нарисовать график параметрической функции, предоставить возможность в интерактивном режиме изменять линейный масштаб графика, смещение графика по x и y и параметры функции, стирание графика и последовательное рисование графиков для разных параметров без стирания, обеспечить режим визуализации процесса рисования графиков с разной скоростью, используя обработчик сообщения WM_TIMER, сохранить в файл в формате BMP требуемый график.
1.4. График гипотрохоиды, ее параметрическое уравнение;
X=r*(k-1)*cos(f)+h*cos((k-1)*f),
Y=r*(k-1)*sin(f)-h*sin((k-1)*f),
где k=R/r; R-радиус неподвижной окружности; r-радиус катящейся окружности; h-расстояние от центра катящейся окружности до точки, образующей траекторию.
k-произвольное; h=0…R, t >2*PI.
Обеспечить кроме ручного ввода t автоматический расчет этого параметра для k=m/n (m и n-целые), обеспечивающего рисование замкнутого графика.
Разработка приложения.
Данное приложение запускается через ярлык MFCApplication и открывает окно для построения графика. В окне находятся параметры, которые пользователь может менять. К параметрам прикреплены переменные double m_R, m_r, m_h, m_a, m_X, m_Y; прописанные в MyCalc .h. Привязка окон ввода к переменным осуществляется при помощи функции GetDlgItem.
В CMyCalc в теле цикла происходит вычисление точек графика.
Условие замкнутости графика вытекает из следующего равенства R*n == r*m. Для
Расчёта организована система из вложенных циклов, сначала подбирается n (внешний
цикл), далее m, потом внутри проверяется выполнение условия, выход из циклов
осуществляется, когда булевская переменная принимает значение true с
помощью break цикл останавливается. Вычисленные точки передаются в класс CMyGraph. Класс СMyGraph сначала заливает окошко цветом, затем с помощью функций dc.LineTo() и dc.MoveTo() выполняет рисование осей. Затем с помощью четырех циклов for выполняется разлиновка осей, отчет начинается от центра, а дальше вправо, влево, вверх и вниз через каждые 20 пикселей до конца окошка ставятся деления. Далее можно произвести сохранение графика в формате BMP
...