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

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

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



OINT библиотек Windows GDI. Реализация массива с данным типом необходима для использования процедуры CreatePolygonRgn, которая в качестве параметров принимает массив точек типа POINT, количество точек в массиве, а также константу для метода построения региона. В качестве результата данная функция возвращает либо созданный регион, либо значение NULL, указывающее на тот факт, что при построении региона завершено с ошибками или не может быть построено.

Следующим этапом является проверка попадания точки в построенный регион с помощью использования стандартной функции PtInRegion библиотеки Windows GDI. В качестве параметров в данную функцию подается предварительно созданный регион и координаты точки, а возвращается значение ИСТИНА или ЛОЖЬ, указывающее на принадлежность точки региону.

В случае попадания точки в регион, заданный точками рисуемого многоугольника, исходная функция pointInPoligon возвращает в основную программу значение ИСТИНА, а основная программа в свою очередь производит вызов процедуры установки цвета заполнения и выполняет перерисовку сцены.

3.3.2.7 Инструмент текст

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

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

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

Рассмотрим структуру созданного класса. В приложении Б изображены все свойства и методы данного класса. Рассмотрим основные члены класса и особенности реализации методов более подробно.

Закрытые свойства.text - строка, содержащая текст надписи.X,Y - позиция текста на экране.

AnsiString typeFont - название шрифта отображения.

int oldMPX, oldMPY - позиция текущего положения курсора при выделенном объекте.base - база отображения текста для реализации функций вывода средствами OpenGL.

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

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

setTextField(AnsiString txt) - позволяет из основной программы передать и установить свойство text,

getTextField() - метод позволяет iитать свойство text и передать для дальнейшей работы в основную программу,

setTypeFont(AnsiString txt) - позволяет установить свойство typeFont для дальнейшего рисования надписи данным шрифтом,

getTypeFont() - позволяет вернуть значение свойства typeFont в основную программу,

getCoordText(int &x, int &y) - позволяет через использование метода onRemove или onMouseDown установить позицию отображения текста на экране.

Методы isSelected, onRemove, recalcPoints, onMouseDown, onMouseOver, onMouseMove выполняют в целом тот же функционал, что и одноименные методы остальных примитивов, с тем лишь различием, что для реализации данных функций используются другие свойства.

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

3.3.2.8 Автоматизация построения промежутков знакопостоянства

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

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

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

Copyright © 2008-2014 geum.ru   рубрикатор по предметам  рубрикатор по типам работ  пользовательское соглашение