canvas教程

DELPHI技巧:用Delphi编写圆周率模拟器

字号+ 作者:H5之家 来源:H5之家 2016-08-29 13:00 我要评论( )

DELPHI技巧:用Delphi编写圆周率模拟器

  编辑特别推荐:

  全国计算机等级考试(等考)指定教材

  全国计算机等级考试学习视频

  全国计算机等级考试网上辅导招生

  全国计算机等级考试时间及科目预告

  考试大教育全国计算机等级考试在线测试平台

  全国计算机等级考试资料下载

  全国计算机等级考试论坛

  计算机等级考试四级应用题解析汇总

  2009年下半年全国计算机二级考试时间是2009年9月19日至23日。2009年下半年全国计算机二级考试报名时间会在考前两个月开始报名!更多优质资料尽在考试大论坛 考试大在线题库。

  圆周率π是个古老的东西,早在1700多年前祖冲之已将其值精确到小数点后7位,而如今通过计算机程序已能算到十亿位之多!我是个圆周率爱好者,这个“爱好”至少是出于对这个无理数的热衷,我不但可以背诵到小数点后100位,而且还收藏着从网上找到几个计算π的程序,你有兴趣可以到我的小站nihg.yeah.net找一下。
  一、模拟器原理本程序并使用计算π值的算法,她只是一个概率模拟,即在边长为200的正方形内随机产生多个点,将点以圆弧为界分开统计,由于点的个数很多,直至几乎布满整个区域。此时,点的个数就可以看作就是它所在区域的面积。可以得到如下推导:
  蓝色区内点个数:总个数≈蓝色面积:总面积
  蓝色区内点个数:总个数≈圆面积/4:总面积
  蓝色区内点个数:总个数≈π×200×200/4:200×200
  π≈ 4×蓝色区内点个数/总个数
  当然,点的位置会重复,所以结果与π值是有差别的,不过,当点足够多时,可以看到一个非常接近的结果。
  二、程序设计
  打开Delphi 7,首先按照图1设计窗体:程序首先在Image1控件区域内画一个边长为200的正方形作为程序的演示窗口,故FormCreate事件如下:
  procedure TForm1.FormCreate(Sender: TObject);
  begin
  // 画亮绿色的正方形演示框
  Image1.Canvas.Brush.Color:=clBlack;
  Image1.Canvas.FillRect(Rect(0,0,199,199));
  Image1.Canvas.Pen.Color:=cllime;
  Image1.Canvas.Rectangle(0,0,199,199);
  DoubleBuffered := True;
  end;
  接着放入一个Timer实现点的绘制以及π的计算:
  procedure TForm1.Timer1Timer(Sender: TObject);
  var
  a,b,i,ii:longint;
  pi,piok:single;
  begin
  // 随机产生坐标点
  i:=random(200);
  ii:=random(200);
  if (i*i+ii*ii

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评