学生们模拟钟表
呵呵,这是VB吧主CBM666写的一个时钟代码...添加LINE 1 LINE 2 LINE 3 timer 1 dim xx1%,YY 1% '来声明变量xx1,YY 1是一个整数(对于圆心)私有子form _ load () me。Autoredraw = true '重绘为true '窗体居中。移动(屏幕。宽度-我。宽度)\ 2,(屏幕。height-meiheight) \ 2 '计算圆心X轴xx1 xx1 = Me。宽度\ 2 '计算Y轴Yy1yy 1 =(me . height-405)\ 2 '设置以下三针的起点x1,Y 1完全定位在圆心上。行1。X1:行1。Y 1 = YY 1LINE2。X1 = XX 1: LINE2。0 = XX 1:第3行。Y1 = YY 1 '绘制时钟的外部,使线条变粗。我。画一个圆。我。圆(xx1,yy1),950线2。BorderWidth = 1 '秒针线2的粗细。Bordercolor = QBColor (12)秒针线的颜色1。BorderWidth = 2 '分针线的粗细1 . border color = QB color(14)。分针线3的颜色。BorderWidth = 3 '时针线3的粗细。Border color = QBColor (10)'时针计时器的颜色1。interval = 500 end sub private sub timer 1 _ timer()。我。' Caption = Time '标题栏显示当前时间'秒针'计算秒针的角度,每一秒是360度除以60秒=6度,所以乘以6 sdeg =秒(时间)* 6 'vb以弧度计算。因此,角度转换的弧度为3.14/180。秒针运行n度时,乘以ns rad =(3.14/180)* sdeg ' 900为秒针长度,圆心(X1,2线Y65438)。计算line2.x2在这个弧度的位置。LINE 2 . x2 = LINE 2 . x1+(900 * SIN(SRAD))' 900是秒针的长度,以圆心为基准(2线的x 1,y1)。计算line2.y2在这个弧度的位置。LINE 2 . y2 = LINE 2 . y 1-(900 * COS(SRAD))'分针'计算分针的角度。每分钟是360度除以60分钟=6度,所以如果乘以6,秒针就会动。因此,应该加上秒针运动引起的分针运动。秒针转1转360度时,分针会前进1分钟=6度,所以比值是6/360等于1/60 mdeg =分钟(时间)* 6+(SDEG * 1/。因此,角度转换的弧度为3.14/180。分针运行n度时,乘以nmrad =(3.14/180)* mdeg ' VB以弧度计算,因此角度换算的弧度为3.14/65438+。以圆心为基准(x1,line1的y1),计算其中LINE 1 . x2 =(750 * SIN(MRAD))+LINE 1。X65438在这个弧度。以圆心为基准(x1,line1的y1),计算其中line1.y2 = LINE 1。Y1-(750 * COS (MRA)当时针每小时运行30度时,分针也会运动,所以我们要加上分针运动引起的时针运动。'当分针转1转360度时,时针将向前移动1 =30度。所以30/360的比值等于1/12 hdeg = hour(time)* 30+(mdeg/12)' VB以弧度计算,所以角度转换弧度为3.14/180。时针运行n度时,乘以nhrad =(3.14/180)* hdeg ' 500为时针长度,以圆心为准(第3行X1,Y1)。计算line3.x2在这个弧度的位置。第三行。X2 =(500 * SIN(HRAD))+第3行。X1' 500是时针的长度,以圆心为基准计算这个弧度处的line3.y2是什么(X1,3号线的y1)。
/CBM 666/blog/item/5729 f 736 f 7d 902300 a55a 991 . html