编程论坛's Archiver

cdmalcl 发表于 2007-1-29 15:49

[原创]感觉弄这个比玩游戏爽

<P>#include "stdio.h"<br>#include "conio.h"<br>#include "time.h"<br>#include "stdlib.h"<br>#include "graphics.h"<br>#include "math.h"</P>
<P>#define PI 3.14</P>
<P>main()<br>{<br>    float i ,j ,k = -2;<br>    int gd=DETECT ,gm;<br>    int Mx ,My , xd = 1, yd = 1 ,kd = 1 ,cr = 1 ,cd = 1;<br>    float x = 0 ,y = 0 ,xm = 0 ,ym = 0;</P>
<P>    initgraph(&amp;gd ,&amp;gm ,"");</P>
<P>    Mx = getmaxx()/2;<br>    My = getmaxy()/2;</P>
<P>    while(!kbhit())<br>    {<br>        for(i = 0;i &lt; PI;i+=0.05)<br>        {<br>            for(j = 0;j &lt; PI ;j+=0.05)<br>            {<br>                x = cos(i+k)*30*j+Mx+xm;<br>                y = sin(j+k)*30*i+My+ym;</P>
<P>                putpixel(x ,y ,cr);</P>
<P>            }<br>        }<br>        xd = (xm &gt; 200)? -1: xd;<br>        xd = (xm &lt; -200)? 1: xd;</P>
<P>        yd = (ym &gt; 250)? -1: yd;<br>        yd = (ym &lt; -250)? 1: yd;</P>
<P>        kd = (k &gt; PI*2)? -1: kd;<br>        kd = (k &lt; -PI*2)? 1: kd;</P>
<P>        cd = (cr &gt; 11)? -1: cd;<br>        cd = (cr &lt; 5)? 1: cd;</P>
<P>        k += 0.1*kd;<br>        xm += 2*xd;<br>        ym += 2*yd;<br>        cr += 4*cd;</P>
<P>        delay(10000);<br>        cleardevice();<br>    }<br>    getch();<br>}<br><br><br><br>写的有点乱[em02]</P>
[align=right][color=#000066][此贴子已经被作者于2007-1-29 15:56:21编辑过][/color][/align]

cdmalcl 发表于 2007-2-1 18:18

<P>#include "stdio.h"<br>#include "conio.h"<br>#include "time.h"<br>#include "stdlib.h"<br>#include "graphics.h"<br>#include "math.h"</P>
<P>#define PI 3.14</P>
<P>main()<br>{<br>    float i ,j ,k = -2;<br>    int gd=DETECT ,gm;<br>    int Mx ,My , xd = 1, yd = 1 ,kd = 1 ,cr = 2 ,cd = 1;<br>    float x = 0 ,y = 0 ,xm = 0 ,ym = 0;</P>
<P>    initgraph(&amp;gd ,&amp;gm ,"");</P>
<P>    Mx = getmaxx()/2;<br>    My = getmaxy()/2;</P>
<P>    while(!kbhit())<br>    {<br>        for(i = 0;i &lt; PI;i+=0.05)<br>        {<br>            for(j = 0;j &lt; PI ;j+=0.05)<br>            {<br>                x = cos(2*i+k)*30*j+Mx+xm;<br>                y = sin(2*j+k)*30*i+My+ym;</P>
<P>                putpixel(x ,y ,cr);</P>
<P>            }<br>        }<br>        xd = (xm &gt; 200)? -1: xd;<br>        xd = (xm &lt; -200)? 1: xd;</P>
<P>        yd = (ym &gt; 250)? -1: yd;<br>        yd = (ym &lt; -250)? 1: yd;</P>
<P>        kd = (k &gt; PI*4)? -1: kd;<br>        kd = (k &lt; -PI*4)? 1: kd;<br>        /*<br>        cd = (cr &gt; 11)? -1: cd;<br>        cd = (cr &lt; 5)? 1: cd;<br>        */<br>        k += 0.1*kd;<br>        xm += 2*xd;<br>        ym += 2*yd;<br>       /* cr += 4*cd; */</P>
<P>        delay(10000);<br>        cleardevice();     /* 感觉图片有点闪就把这个地方改为定点覆盖就行 */<br>    }<br>    getch();<br>}</P>
[align=right][color=#000066][此贴子已经被作者于2007-2-1 18:22:27编辑过][/color][/align]

cdmalcl 发表于 2007-2-1 18:24

<P>for(j = 0;j &lt; PI ;j+=0.05)<BR>            {<BR>                x = cos(<FONT color=#ff0000>3</FONT>*i+k)*30*j+Mx+xm;<BR>                y = sin(<FONT color=#ff0000>3</FONT>*j+k)*30*i+My+ym;</P>
<P>                putpixel(x ,y ,cr);</P>
<P>            }<BR>        }<BR><BR>把那个数改成其他的数有更好的效果</P>

田里兵蜂 发表于 2007-2-1 18:25

[em17]<BR>哇,我运行了下,第二个图真好看

cdmalcl 发表于 2007-2-1 18:28

<P>for(j = 0;j &lt; PI ;j+=0.05)<BR>            {<BR>                x = cos(k*i/2+k)*30*j+Mx+xm;<BR>                y = sin(k*j/2+k)*30*i+My+ym;</P>
<P>                putpixel(x ,y ,cr);</P>
<P>            }<BR><BR>这么改也挺有意思</P>

cdmalcl 发表于 2007-2-1 18:29

<DIV class=quote><B>以下是引用<U>田里兵蜂</U>在2007-2-1 18:25:33的发言:</B><BR>[em17]<BR>哇,我运行了下,第二个图真好看</DIV>
<p>终于有人理我拉[em03]

卧龙孔明 发表于 2007-2-1 19:57

支持![em17]

ba_wang_mao 发表于 2007-2-2 08:55

<P><U><FONT style="BACKGROUND-COLOR: #55aaaa" color=#d52b6f>以下是引用田里兵蜂在2007-2-1 18:25:33的发言:</FONT></U></P>
<P><U><FONT style="BACKGROUND-COLOR: #55aaaa" color=#d52b6f>哇,我运行了下,第二个图真好看<BR></FONT></U></P>

Still_Linux 发表于 2007-2-2 16:12

效果真不错 第二个很像WINDOWS的屏幕保护吖  今天研究一下!

cdmalcl 发表于 2007-2-2 17:10

这两个效果更好:[em02]<BR><BR>x = cos(2*i+k+j)*30*j+Mx+xm;<BR>y = sin(2*j+k+i)*30*i+My+ym;<BR><BR><BR>x = cos(2*i+k*j)*30*j+Mx+xm;<BR>y = sin(2*j+k*i)*30*i+My+ym;

cdmalcl 发表于 2007-2-2 17:12

x = cos(i*3+k*j)*30*j+Mx+xm;<BR>y = sin(j*3+k*i)*30*i+My+ym;

cdmalcl 发表于 2007-2-2 17:25

当<BR> x = sin(j)*10+cos(i*3+k*j)*30*j+Mx+xm;<BR> y = cos(i)*10+sin(j*3+k*i)*30*i+My+ym;<BR><BR>k=-3.3左右的时候好像很好看<BR>明天再弄

Still_Linux 发表于 2007-2-2 20:42

还是最后一个效果酷啊~挺多效果呢 哈哈~!!~~数学真厉害吖!

Bluefire001 发表于 2007-2-3 09:43

<P>先顶下![em01]</P>

一笔苍穹 发表于 2007-2-4 13:16

不错啊~

delpiero 发表于 2007-2-13 15:44

真顶 很不错啊  

moonwalker 发表于 2007-3-5 23:47

<P>头一回来图形版,原来C可以做出这么好的图,我也准备开始学学图形喽!<BR>希望GS们多多指导了!</P>

高达 发表于 2007-3-12 23:29

大哥 我要学 太爽了

programer 发表于 2007-3-25 15:43

看了,的确不错!!学习啊!!

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.