Red de conocimiento informático - Computadora portátil - Programa de animación de trayectoria de curva de programación en lenguaje C

Programa de animación de trayectoria de curva de programación en lenguaje C

#include

#include

#include

# incluir

#include

void drawstar(int x, int y, int c, int r, int color);

void drawb(int x, int y, int r, int color);

void drawb0(int color);

int count = 0;

int posx[3500], posy[3500];

int main()

{

int GraphDriver;

int GraphMode;

int arg = 0;

int a, b;

int paso = 5;

GraphDriver = DETECT;

initgraph(&GraphDriver, &GraphMode, "");

drawb(300, 150, 300, 12);

drawstar(posx[0], posy[ 0], 0, 15, 14);

mientras(1)

{

mientras(kbhit())

{

a = getch();

if (a == 13)

{

closegraph();

devuelve 0;

}

si (a == 0)

{

b = getch();

if (b == 75)/*Izquierda*/

{

drawstar(posx[arg], posy[arg], 0, 15, 0 );

arg -= paso;

if (arg < 0)

arg = recuento - 1;

drawb0(12 );

drawstar(posx[arg], posy[arg], 0, 15, 14);

}

if (b == 77) /*Derecha*/

{

drawstar(posx[arg], posy[arg], 0, 15, 0);

arg += paso ;

if (arg > count - 1)

arg = 0;

drawb0(12);

drawstar(posx[ arg], ramillete[arg], 0, 15, 14);

}

}

p>

}

}

}

estrella vacía (int x, int y, int c, int r, int color)

{

flotante x1, y1;

flotante x2, y2;

flotante x3, y3;

flotante x4 , y4;

float x5, y5;

const double pi = atan(1) * 4 / 180;

const double pic = pi * c;

setcolor(color);

x1 = x + r * cos(pi * 90 - pic);

y1 = y - r * sin(pi * 90 - pic);

x2 = x + r * cos(pi * 18 - pic);

y2 = y - r * sin(pi * 18 - pic);

x3 = x + r * cos(pi * 54 + pic);

y3 = y + r * sin(pi * 54 + pic);

x4 = x - r * cos(pi * 54 - pic);

y4 = y + r * sin(pi * 54 - pic);

x5 = x - r * cos(pi * 18 + pic);

y5 = y - r * sin(pi * 18 + pic);

moveto(x1, y1);

línea a (x3, y3);

línea a (x5, y5);

línea a (x2, y2);

línea a (x4, y4) );

lineto(x1, y1);

}

void drawb(int x, int y, int r, int color)

{

const double p = 3.14159265;

float r0, t;

float px, py;

float a = 100;

float b = 100;

r /= 2;

r -= 20;

for(t = 0; t <= p; t += 0.002)

{

px = (a + b) * cos(t) - b * cos(a + b) / b * t + x;

py = (a + b) * sin(t) - b * sin(a + b) / b * t + y;

putpixel(px , py, color);

posx[count] = px;

posy[count] = py;

count++;

}

}

void drawb0(int color)

{

int i;

para (i = 0; i < recuento; i++)

putpixel(posx[i], posy[i], color);

}