
- •1.1. Цель:
- •2. Текст индивидуального задания
- •3. Краткие теоретические сведения
- •Void detectgraph( int far *graphdriver, int far *graphmode);
- •Void initgraph (int far *driver, int far *mode, char far *pathtodriver);
- •Int Driver,Mode;
- •Initgraph(&Driver,&Mode," ");
- •Void far restorecrtmode(void);
- •Void far setgraphmode(int mode);
- •Int far getgraphmode(void);
- •Void far setviewport(int left, int top, int right, int bottom, int clip)
- •Void far moveto (int X, int y);
- •Void far moverel (int dx, int dy);
- •Void far clearviewport(void);
- •Void far getaspectratio(int far *xasp, int far *yasp);
- •Void far putpixel(int X, int y, int color);
- •7. Таблица переменных
- •8. Результаты работы программы
Void far putpixel(int X, int y, int color);
Первая функция возвращает номер цвета пикселя с координатами (х,у).
Вторая выводит пиксель с координатами (х,у) цветом color.
3.5. Отображение текстовой информации в графическом режиме
Текст в графическом режиме выводится с помощью шрифтов, которые сохраняются в файлах с расширением chr. Параметры вывода текста определяются функцией
settextstyle(int font, int direction, int charsize);
Аргумент direction задает направление вывода текста (HORIZ_DIR, VERT_DIR), аргумент charsize — размер символов (от 1 до 10). Вид шрифта определяется значением аргумента font (от 0 до 4). Все шрифты, кроме шрифта DEFAULT_FONT=0, являются векторными. Т.е. их элементы формируются как совокупность векторов, которые характеризуются направлением и длиной.
Расположением выводимой строки текста относительно опорной точки управляет функция settextjustify(int horiz, int vert);
3.6. Построение графиков функций
График функции f (x) строят по точкам (x, f (x)). Для этого циклически задают значение абсциссы {xi} и вычисляют соответствующие ординаты yi=f(xi)
Затем отрезками соединяют точки (xi-1,yi-1) с точками (xi, yi)
Для изображения графика следует перевести вычисленные математические координаты точек в их экранные эквиваленты, умножив координаты (x, f (x)) на масштаб. С учетом того, что центр системы координат — это центр экрана, а экранная ось ординат направлена в обратную сторону по сравнению с математической осью, получим следующие выражения для экранных координат:
y _ экрана = y _ центра − масштаб ⋅ f (x); (2.1)
x _ экрана = x _ центра + масштаб ⋅ x . (2.2)
При построении графиков функций приведенные формулы используют в следующем порядке:
— циклически изменяют значение x _ экрана от 0 до значения, равного максимальному числу пикселей в строке; 21
— для заданного значения x _ экрана , преобразуя (2.2), вычисляют математическую координату x по формуле
x = (x _ экрана − x _ центра) масштаб ;
— вычисляют y _ экрана по указанной выше формуле (2.1) и получают экранную точку с координатами (y _ экрана, x_экрана);
— полученные экранные точки соединяют отрезками и получают график
функции.
3.7. Преобразование координат
Преобразование координат используют при изменении масштаба изображения, переносе и повороте изображений. Рассмотрим линейные преобразования координат двумерных объектов. Такие преобразования выполняются с помощью соответствующих формул.
Предположим, что в декартовой системе координат задана плоская геометрическая фигура и (x, y) — координаты одной из её точек. Пусть x , y координаты этой же точки после преобразования. Тогда параллельное перемещение фигуры на ∆x пикселей вдоль оси 0x и на ∆y пикселей вдоль оси 0y можно выполнить с помощью формул:
x = x + ∆x 1;
y = y + ∆y 1.
Растяжение фигуры в x
k и y
k раз выполняется на основе соотношений
x
x = x k 1;
y
y = y k 1.
Поворот фигуры вокруг начала координат на угол ϕ:
x1 = xcosϕ + ysinϕ;
y1 = −xsin ϕ + ycosϕ.
4. Математическое обоснование задачи
4.1 Анализ области допустимых значений аргумента
4.2 График функции
6. Текст программы