c语言中绘制分形图案的平台,分形图形等1(c语言程序).ppt

,Part 3 c语言图形程序设计,[例1]编程画出如图所示简单直线图形,它是由矩形的长取等分点连线组成。 [ph022.c],七、绘图程序实例,,Part 3 c语言图形程序设计,[例2]绘制钻石图案。将一圆周进行n等分,然后将所有的等分点用直线连接,构成—幅美丽图案。 [ph023.c],,Part 3 c语言图形程序设计,[例3]画一棵树。分形图是一种目前较为流行的艺术图形。所谓分形,就是指组成部分与整体以某种方式相似,局部 放大后可以在某种程序 上再现整体。如右图: [绘制原则]:画一直线, 在其上找到一系列节点, 节点处左右偏转60度各画 一条分枝。节点位置和分 枝的长度比各按0.618分 割。[ph024.c],,Part 3 c语言图形程序设计,[例4]画渔网图案。渔网是用线结成很多网眼组成的。图示的网片中的网眼椭圆弧组成的,每个网眼由四段椭圆弧组成、每段椭圆弧是四分之一个椭圆,其长短轴方向 不同。为了使弧段圆心的变 化规律变得简明易懂,我们 以圆弧代替椭圆弧。 [ph025.c],,Part 3 c语言图形程序设计,[例5]画五颜六色的圆。 [ph026.c],[例6]编一个星星闪烁的程序。 [ph027.c],,Part 3 c语言图形程序设计,[例7]画出图示的小车。并用floodfill( )函数填充指定的区域使小车在屏幕上随机走动。 [ph028.c],,Part 3 c语言图形程序设计,[例8]画人跑步。 [ph029.c],CClientDC dc(this); for(int x=0;x=480;x=x+20) { dc.MoveTo(0,200); dc.LineTo(x,0); dc.MoveTo(x,0); ……….;},CClientDC dc(this); double x[100],y[100]; int n=15,i,j; double r,t,g=3.1415; r=200; t=2.0*g/n; … …,void CMy010View::grow(int x, int y, float length, float fai) { int x1,y1,count; double nx,ny; float nlength,g=0.618,PI=3.1415926,t=60.0; CClientDC dc(this); x1=x+length*cos(fai*PI/180.0); y1=y-length*sin(fai*PI/180.0); dc.MoveTo(x,y); dc.LineTo(x1,y1); if(length10) return; nlength=length; nx=x; ny=y; for (count=0;count7;count++) { nx=nx+nlength*(1-g)*cos(fai*PI/180.0); ny=ny-nlength*(1-g)*sin(fai*PI/180.0); grow(nx,ny,nlength*(1-g),fai+t); grow(nx,ny,nlength*(1-g),fai-t); nlength*=g; }},

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值