#define DEGREE 6 /* 递归层次 */
#define SQRT3 1.732 /* 向量旋转参数, A(x+iy)逆时针旋转六十度后为 B (x+iy)*(
1/2+ ^/3i/2) */
#include <graphics.h>
void snowpart(int x1,int y1,int x5,int y5,int degree) /* 递归画图 */
{
int x2,y2,x3,y3,x4,y4; /*一条线段拆分成四条*/
int deltX, deltY;
if (degree==0) /* 递归终点 */
{
line(x1,y1,x5,y5);
return;
}
deltX=x5-x1; /* 线段: ______ */
deltY=y5-y1; /* 拆分: __/\__ */
/* 1 234 5 */
x2=x1+deltX/3;
y2=y1+deltY/3;
x4=x2+deltX/3;
y4=y2+deltY/3;
x3=x2+(deltX+(int)(SQRT3*deltY))/6;
y3=y2+(deltY-(int)(SQRT3*deltX))/6;
snowpart(x1,y1,x2,y2,degree-1);
snowpart(x2,y2,x3,y3,degree-1);
snowpart(x3,y3,x4,y4,degree-1);
snowpart(x4,y4,x5,y5,degree-1);
}
main()
{
int x1=100 ,y1=350;
int x2=200 ,y2=177;
int x3=300 ,y3=350;
int i=0;
int driver=DETECT, mode=0;
initgraph(&driver,&mode,"");
setfillstyle(SOLID_FILL,WHITE);
while(i<DEGREE)
{
sleep(1);
cleardevice();
snowpart(x1,y1,x2,y2,i);
snowpart(x2,y2,x3,y3,i);
snowpart(x3,y3,x1,y1,i);
i++;
}
floodfill((x1+x2+x3)/3,(y1+y2+y3)/3,WHITE);
getch();
}
没有合适的资源?快使用搜索试试~ 我知道了~
模仿自然界的雪花的程序-mimic natural snow procedures.zip
共1个文件
c:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 149 浏览量
2023-12-27
15:17:51
上传
评论
收藏 1KB ZIP 举报
温馨提示
模仿自然界的雪花的程序-mimic natural snow procedures.zip
资源推荐
资源详情
资源评论
收起资源包目录
模仿自然界的雪花的程序-mimic natural snow procedures.zip (1个子文件)
xuehua.c 1KB
147杨
Y-456
G
共 1 条
- 1
资源评论
m0_74456535
- 粉丝: 89
- 资源: 512
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功