Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
//Їа®Ја ¬¬ аЁбгҐв ¤ўЁ¦г饥бп ⥫®
// ў бЁб⥬Ґ DOS
//®бв ®ўЄ Ё Їа®¤®«¦ҐЁҐ Їа®Ја ¬¬л - ¦ вЁҐ «оЎ®© Є« ўЁиЁ
//ўл室 Ё§ Їа®Ја ¬¬л - Esc
#include <graphics.h>
#include <bios.h>
#include <math.h>
#include <dos.h>
#include <stdio.h>
#include <process.h>
#include <conio.h>
//Ј«®Ў «млҐ ЇҐаҐ¬ҐлҐ
double x1, x2, y1, y2;
int n1, n2, m1, m2;
int iStep = 0;
//ЇҐаҐе®¤ ®в x Є ЇЁЄбҐ«о n
inline int xn(double x)
{
return (int)((x - x1)/(x2 - x1)*(n2 - n1)) + n1;
}
//ЇҐаҐе®¤ ®в y Є ЇЁЄбҐ«о m
inline int ym(double y)
{
return (int)((y - y1)/(y2 - y1)*(m2 - m1)) + m1;
}
//дгЄжЁп ®бв ў«Ёў Ґв ўлЇ®«ҐЁҐ Їа®Ја ¬¬л ЇаЁ ¦ вЁЁ
//«оЎ®© Є« ўЁиЁ, ЇаЁ ¤ «мҐ©и¬ ¦ вЁЁ «оЎ®© Є« ўЁиЁ
//Їа®Ја ¬¬ Їа®¤®«¦ Ґв ўлЇ®«ҐЁҐ
//ўл室 Ё§ Їа®Ја ¬¬л - Esc
void StopRunQuit()
{
union inkey //ў н⮬ ®ЎкҐ¤ЁҐЁЁ еа Ёвбп Ёд®а¬ жЁп ® ¦ в®© Є« ўЁиҐ
{ //ch[0] -¬« ¤иЁ© Ў ©в (ASCII Є®¤)
unsigned char ch[2]; //ch[1] -бв аиЁ© Ў ©в (Є®¤ бЄ Ёа®ў Ёп Є« ўЁиЁ)
int i; //i -®ЎкҐ¤ЁҐЁҐ ¤ўге Ў ©в ў б«®ў®
} c;
if(kbhit())
{
c.i = bioskey(0);
if(c.ch[0] == 27 && c.ch[1] == 1)
{
closegraph();
exit(0);
}
while(!kbhit());
c.i = bioskey(0);
if(c.ch[0] == 27 && c.ch[1] == 1)
{
closegraph();
exit(0);
}
}
}
void main()
{
x1 = -2; x2 = 2; y1 = -2; y2 = 2;
n1 = 50; n2 = 450; m1 = 450; m2 = 50;
//Ї®¤Є«о票Ґ Ја дЁзҐбЄ®© ЎЁЎ«Ё®вҐЄЁ
int mode;
int res;
int driver = DETECT;
initgraph(&driver, &mode,"c:\\borlandc\\bgi");
if((res = graphresult()) != grOk)
{
printf("\nGraphics error: %s\n", grapherrormsg(res));
exit(1);
}
moveto(n1,m1);
lineto(n2,m1);
lineto(n2,m2);
lineto(n1,m2);
lineto(n1,m1);
//гб ®ўЄ ЇҐа : 1) бвЁ«м - бЇ«®и®©
// 2) в®«йЁ «ЁЁ© - 3 ЇЁЄбҐ«п
// 3) 梥⠫ЁЁ© - ᢥ⫮-Єа бл©
setlinestyle(SOLID_LINE,0,3);
setcolor(LIGHTRED);
double dfi, dr, xb, yb, xe, ye;
dfi = 10, dr = 0.2;
xb = 0, yb = 0;
do
{
delay(500);
xe = dr*iStep*cos(M_PI/180*dfi*iStep);
ye = dr*iStep*sin(M_PI/180*dfi*iStep);
int nb, mb, ne, me;
nb = xn(xb); mb = ym(yb);
ne = xn(xe); me = ym(ye);
moveto(nb,mb);
lineto(ne,me);
iStep++;
StopRunQuit();
}while(iStep<150);
getch();
closegraph(); //§ Єалў Ґ¬ Ја дЁзҐбЄго ЎЁЎ«Ё®вҐЄг
}
Соседние файлы в папке BC31