注册 登录
编程论坛 C图形专区

这段程序为什么会有动态效果呢?

闪闪4521 发布于 2008-09-24 16:31, 1306 次点击
#include<stdio.h>
#include<math.h>
#include<graphics.h>
#define PI 3.14
int main()
{
    float i = 0,j ,x ,y;
    int MAXX2 ,MAXY2;
    int gd = DETECT,gm = 0;

    initgraph(&gd,&gm,"c:\\turboc2");

    MAXX2 = getmaxx()/2;
    MAXY2 = getmaxy()/2;

    setcolor(15);
    setfillstyle(1 ,1);

    for(j = 0;j < MAXY2*2;j+=40)
    {
          rectangle(1 ,j ,i+39 ,j+21);
          for(i = 0;i < MAXX2*2;i+=40)
          {
                rectangle(i ,j+1 ,i+39 ,j+20);
                floodfill(i+3 ,j+3 ,getcolor());
                rectangle(i+20 ,j+21 ,i+59 ,j+40);
                floodfill(i+23 ,j+23 ,getcolor());
          }
          rectangle(21 ,j+21 ,i+59 ,j+41);
          floodfill(3 ,j+23 ,getcolor());
    }

  for(i = -3*PI-1;i < 0;i +=0.005)
    {
          for(j = -4*PI;j < 4*PI;j += 0.01)
          {
                x = cos(i*2+j)*20+j*30;
                y = sin(i-j*2)*20+i*30*sin(i/2)+sin(x/25)*30;

                putpixel(x+MAXX2 ,y+MAXY2 ,4);

        if(kbhit())
             exit(0);
           }
    }
   
getch();
}


这是cdmalcl之前发在论坛的代码,但是为什么他会产生动态的流体效果呢?
红色的部分就是产生作用的函数,只是一个嵌套循环,可为什么没有直接产生结果
而是动态的产生呢?
求高人解答。

[[it] 本帖最后由 闪闪4521 于 2008-9-24 16:34 编辑 [/it]]
2 回复
#2
chexianfang2008-10-06 19:59
我看不懂
#3
starrysky2008-10-07 17:48
putpixel(x+MAXX2 ,y+MAXY2 ,4);这个函数在起作用
1