| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6870 人关注过本帖, 3 人收藏
标题:[原创]一个方程实现液体下流效果
只看楼主 加入收藏
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
结帖率:74.19%
收藏(3)
 问题点数:0 回复次数:26 
[原创]一个方程实现液体下流效果

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

搜索更多相关主题的帖子: 方程 液体 效果 
2007-04-30 18:37
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
收藏
得分:0 
8错,很强大

简单的快乐着~
2007-05-01 20:40
hutogo007
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-5-1
收藏
得分:0 
非等闲之辈能写得出的..
2007-05-02 23:31
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
很有意思,加个精,希望以后有更多这样的程序帖上来~~
2007-05-03 20:24
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
great!

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-05-04 08:46
蔡蔡
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-5-8
收藏
得分:0 
高手~~~~我无话说~~~~

从不撒谎,却常常骗人。 自认不笨,却热衷装傻。
2007-05-08 12:50
china008
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-5-8
收藏
得分:0 

2007-05-12 08:01
zj860713
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-3-16
收藏
得分:0 
楼主,小弟不太理解上面的这段代码是怎么实现那种作图的,画点函数我知道,你能给我点注释吗?
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

2007-05-24 18:00
yang667455
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-5-13
收藏
得分:0 

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

画出流体的哪?

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

2007-06-07 19:12
wrrlcmnyj
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-6-13
收藏
得分:0 

好强呀!

图片附件: 游客没有浏览图片的权限,请 登录注册

2007-06-17 16:54
快速回复:[原创]一个方程实现液体下流效果
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026232 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved