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

[原创]一个方程实现液体下流效果

cdmalcl 发布于 2007-04-30 18:37, 6892 次点击

#include<stdio.h>
#include<math.h>
#include<graphics.h>
#define PI 3.14
int main()
{
float i ,j ,x ,y;
int MAXX2 ,MAXY2;
int gd = DETECT,gm = 0;

initgraph(&gd,&gm,"");

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

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

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();
}

26 回复
#2
奔跑的鸟2007-05-01 20:40
8错,很强大
#3
hutogo0072007-05-02 23:31
非等闲之辈能写得出的..
#4
一笔苍穹2007-05-03 20:24
很有意思,加个精,希望以后有更多这样的程序帖上来~~
#5
卧龙孔明2007-05-04 08:46
great!
#6
蔡蔡2007-05-08 12:50
高手~~~~我无话说~~~~
#7
china0082007-05-12 08:01
#8
zj8607132007-05-24 18:00
楼主,小弟不太理解上面的这段代码是怎么实现那种作图的,画点函数我知道,你能给我点注释吗?
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);
}
}
我的邮箱www.me860713@163.com

#9
yang6674552007-06-07 19:12

楼主历害.请问你是怎么想到用
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);
}
}

画出流体的哪?

我就算能想出程序运行的样子,可却不能想出怎么用数学表达式来表现效果.

#10
wrrlcmnyj2007-06-17 16:54

好强呀!

只有本站会员才能查看附件,请 登录

#11
bupo2007-08-19 11:05
回复:(cdmalcl)[原创]一个方程实现液体下流效果

我运行这段代码时为什么说"无法打开包括文件:“graphics.h”: No such file or directory"

#12
leopardxp2007-08-19 17:53
回复:(cdmalcl)[原创]一个方程实现液体下流效果
这些类似的效果怎么实现?三角函数在类似的图形中有什么使用技巧?
#13
chen78062007-08-20 11:56
我用tc201,编译能通过,执行后没见到什么?
#14
老糊涂2007-08-25 19:54

牛~~~~~~~~顶~~~~~~~~!

#15
鍾臣2007-09-24 18:09
能不能给个注释啊!!!!!看不懂啊!!!!!!!!
#16
lubin5423972007-09-28 10:03
支持,很好的东西学习了
#17
维c2007-10-01 15:08
厉害.....
#18
bitcai2007-10-06 21:10
我也想要注释 zhang2gong@163.com 谢谢
#19
canyue2007-10-09 23:27
不是我能看懂的
#20
永夜的极光2007-10-10 15:48
LZ相当的厉害,佩服
#21
eakcon2007-11-14 10:08
#22
青格儿2007-11-24 11:23
我用TC运行出来,怎么没液体效果呢?这是为什么?出来的好象墙一样,好多的格子

怎么会这样?
#23
if_exist2009-10-16 20:26
要等等哦就有了。
话说那个哪里是液体,根本就是血……
#24
壮志在我胸2010-04-06 12:29
牛逼 !小弟佩服的五体投地
#25
纯洁2010-07-21 02:14
好厉害
#26
Antwind2010-08-13 20:52
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
#27
黄金九六2016-09-21 12:21
我想问一下,要什么编译器来运行这段程序。
1