geum.ru - только лучшие рефераты!

Программный продукт "Графический редактор учебно-методических материалов"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?. При скрытой сетке привязка к узлам при рисовании не осуществляется.

Закрытые свойства.

short int R,G,B - цветовые составляющие используемого для отображения сетки цвета.

int step - шаг сетки. Задается в пикселях каждый узел сетки расположен от другого на количество пикселей которое характеризуется данным свойством.

int color - используется для определения цветовых составляющих.

int height, int width - свойство позволяет внутри класса определить значение высоты и ширины сцены OpenGL соответственно.CAxesX, int CAxesY - позволяет хранить центр экрана по горизонтали и вертикали соответственно. В данном случае под центром экрана подразумевается цент заданной декартовой системы координат.

Открытые методы.

void setStep(int st) - позволяет установить шаг сетки за iет использования передаваемого в процедуру параметра st.

int getStep() - возвращает целочисленное значение шага сетки.

void setColor(int clr) - реализует алгоритм присвоения цвета используемого при рисовании сетки на экране.

int getColor() - получаем используемый для отображения цвет сетки.

void Resize(int W, int H, int CX, int CY) - метод позволяет произвести переiет шага сетки и её линий при изменении размера OpenGL окна.

void Draw(float zoom, HDC hdc, HGLRC hglrc) - осуществляет рисование

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

Закрытые методы.

short int GetR(), GetG(), GetB() - методы предназначены для вычисления цветовых составляющих из общего цвета, хранящегося в члене класса color.

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

Таким образом, для осуществления привязки к сетке используется процедура позиционирования координат курсора за iет использования следующих формул преобразования:

(8)

где Xn,Yn - новые координаты точки соответствующие узлу сетки; CAxesX, CAxesY - центр заданной декартовой системы координат; zoom - коэффициент увеличения/уменьшения масштаба; GridStep - шаг сетки; mod -выполнение целочисленного деления (деления без остатка).

Новые координаты, полученные путем такого преобразования, подаются в экземпляр примитива в качестве параметров функции onMouseDown, onMouseMove и onRemove.

3.3.2.5 Вывод и построение графика

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

Таблица 7.Список функций и операций

Операция/ функцияНазначение+Бинарная операция сложение-Бинарная операция вычитание*Бинарная операция умножение/Бинарная операция деление^Бинарная операция возведение в степеньsinТригонометрическая функция синусcosТригонометрическая функция косинусtgТригонометрическая функция тангенсasinОбратная тригонометрическая функция синусacosОбратная тригонометрическая функция косинусatanОбратная тригонометрическая функция тангенсlnЛогарифмическая функция натуральный логарифм

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

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

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