网页功能: 加入收藏 设为首页 网站搜索  
用VB绘制正弦动画曲线
发表日期:2003-07-21作者:许俊[] 出处:  

  VB提供了绘图的基本方法,如Pset、Line、Circle,能够绘出点、直线、圆等基本图形,但没有提供绘曲线的方法。其实,我们可以灵活运用基本绘图方法,来绘出所需要的曲线,甚至达到动画的效果。

  一、VB坐标系介绍

  VB里有三种坐标系,屏幕坐标系、窗体坐标系和窗体内的对象坐标系,这三种坐标系都是以其左上角为坐标原点,与平常使用的几何坐标系不一致,我们绘图时感到不习惯。VB允许编程人员自定义坐标系,根据需要定义坐标原点的位置。

  自定义坐标系的方法是Scale,语法格式:

  Scale (X1,Y1) - (X2,Y2)

  其中: X1是绘图区域左上角的横坐标;

  Y1是绘图区域左上角的纵坐标;

  X2是绘图区域右下角的横坐标;

  Y2是绘图区域右下角的纵坐标。

  例如:Scale (-320,240) - (320,-240) 定义了绘图区域大小为640×480,坐标原点(0,0)在绘图区域中心。

  二、绘制正弦动画曲线

  启动VB6,新建标准EXE工程,添加一个PictureBox控件,两个CommandButton控件到窗体,其Caption属性值分别设为正弦曲线和结束。

  双击Command1,打开代码编辑器窗口,相应事件的代码如下:

  通用声明模块:

  Const pi = 3.14159

  Dim a

  Private Sub Command1_Click() 注释:画正弦曲线

  注释:首先清除picture1内的图形

   Picture1.Cls

   注释:Scale方法设定用户坐标系,坐标原点在Picture1中心

   Picture1.ScaleMode = 0

   Picture1.ScaleMode = 3

   Picture1.Scale (-10, 10)- (10, -10)

   注释:设置绘线宽度

   Picture1.DrawWidth = 1

   注释:绘坐标系的X轴及箭头线

   Picture1.Line (-10, 0)-(10, 0), vbBlue

   Picture1.Line (9, 0.5)-(10, 0), vbBlue

   Picture1.Line -(9, -0.5), vbBlue

   Picture1.ForeColor = vbBlue

   Picture1.Print "X"

   注释:绘坐标系的Y轴及箭头线

   Picture1.Line (0, 10)-(0, -10), vbBlue

   Picture1.Line (0.5, 9)-(0, 10), vbBlue

   Picture1.Line -(-0.5, 9), vbBlue

   Picture1.Print "Y"

   注释:指定位置显示原点O

   Picture1.CurrentX = 0.5

   Picture1.CurrentY = -0.5

   Picture1.Print "O"

   注释:重设绘线宽度

   Picture1.DrawWidth = 2

   注释:用For循环绘点,使其按正弦规律变化。步长值很小,使其形成动画效果

   For a = -2 * pi To 2 * pi Step pi / 6000

   Picture1.PSet (a, Sin(a) * 5), vbRed

   Next

   注释:指定位置显示描述文字

   Picture1.CurrentX = pi / 2

   Picture1.CurrentY = -7

   Picture1.ForeColor = vbBlack

   Picture1.Print "正弦曲线示意"

  End Sub

  以上程序代码在VB 6.0,Windows 98中调试通过。 

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 用VB绘制正弦动画曲线
本类热点文章
  用VB制作软键盘
  用VB制作软键盘
  制作半透明窗体
  让messagebox自动消失
  让messagebox自动消失
  给Listview做个背景
  给Listview做个背景
  VB程序实现WindowsXP效果的界面
  VB打造超酷个性化菜单
  用VB实现“百叶窗”的图形特效
  用VB实现“百叶窗”的图形特效
  用VB绘制正弦动画曲线
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2024 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00391