Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Построение графиков




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

Значение x будет меняться от края до края экрана, а значение y вычисляться по заданной форму­ле.

Для того, чтобы графики "знакомых" функций выглядели при­вычно, нужно выбрать более удобную систему координат. Начало ко­ординат поместим в центр экрана, а оси направим, как обычно, Ox - влево, а Oy - вверх. Изобразим их на экране (для простоты ог­раничимся лишь прямыми линиями, не изображая стрелок и надпи­сей).

SetColor(Green);

Line(0,240,639,240); ось Ox

Line(320,0,320,479); ось Oy

Начнем строить график. Теперь нам придется иметь дело с двумя системами координат - "экранной" и "нарисованной". Вычис­лять значение функции нам удобнее в нарисованной системе, а ри­совать точки придется в экранной. Обозначим через x и y коорди­наты точки в нарисованной системе, а x_ekr и y_ekr - в экранной. Связь между ними будет такой:

x_ekr = x - 320 y_ekr = -y + 240

Из этих соотношений видно, что когда x_ekr меняется от 0 до 639 (от левого до правого края экрана), x меняется от -320 до +319, а при изменении y_ekr от 0 до 479 (от верхнего края до нижнего) y меняется от +240 до -239 (т.е. в обратном направлении).

Пользуясь этими соотношениями, составим новую программу построения графика:

#include<stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <graphics.h>

#include <math.h>

int gd=DETECT,gr;

main()

{initgraph(&gd,&gr,"..\\bgi");

float x,y,xg,yg,a,i;

a=0;

x=-20;

for (i=0;i<2000;i++)

{y=sin(x);

xg=x*20+320;

yg=240-y*20;

putpixel(xg,yg,2);

x=x+0.05;

}

getch();

closegraph;

}

 

Программа- заставка из зачета по графике

#include<stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <graphics.h>

#include <dos.h>

int gd=DETECT,gr;

main()

{initgraph(&gd,&gr,"..\\bgi");

int x,y,xg,yg,a,i;

i=0;

for (y=50;y<620;y++)

{

setcolor(1);

settextstyle(3,0,i);

outtextxy(y,50,"VASYA");

delay(10);

setcolor(0);

outtextxy(y,50,"VASYA");

delay(10);

if (y%10==0) i++;

}

getch();

closegraph;

}


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0043)http://www.edu.severodvinsk.ru/book/c/9.htm --><!-- saved from url=(0047)http://archive.1september.ru/inf/2000/6/C/9.htm -->

Строки




Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2019 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных