Search This Blog

How to Make Animate Cosine wave using C graphics in turbo C++



 


#include <stdio.h>

  #include <conio.h>

  #include <math.h>

  #include <graphics.h>

  #include <dos.h>


  int main() {

        /* request auto detection */

        int gdriver = DETECT, gmode, err;

        int i = 0, fq, amp;

        double x, y;


        /* initialize graphic mode */

        initgraph(&gdriver, &gmode, "C:/TURBOC3/BGI");

        err = graphresult();


        if (err != grOk) {

                /* error occurred */

                printf("Graphics Error: %s\n",

                                grapherrormsg(err));

                return 0;

        }


        /* initialize the variables */

        x = 0.5;

        fq = 2;


        /* setting the amplitute to 50 */

        amp = 50;

        line(0, getmaxy() / 2, getmaxx(), getmaxy() / 2);


        /* draws cosine wave */

        while (x < getmaxx()) {

                setcolor(i % 15 ? i % 15 : 1);


                /* calculate y given x value- using cosine wave formula */

                y = amp * cos((3.14 * fq * x)  / 180);

                y = y + getmaxy() / 2;


                /* plot the pixel at (x, y) */

                putpixel(x, y, 15);


                /* draw vertical lines at the current plot */

                line(x, y, x, y - 12);

                line(x, y, x, y + 12);


                /* sleep for 100 milliseconds */

                delay(100);


                /* increment x */

                x = x + 5;

                i++;

        }


        getch();


        /* deallocate memory allocated for graphic screen */

        closegraph();

        return 0;

  }



Share this article :

0 comments:

Post a Comment