首先看个时钟刻度显示效果:
一个表盘有60个刻度,每5个刻度就有一个刻度尺寸偏长,画该表盘步骤如下:
- 画外围圈,这个就是画一个圆,假设其圆心坐标为(x0,y0)(x_0, y_0)(x0,y0),半径为RRR,左上角为坐标原点
- 画表盘中心,这个小圆半径随意,圆心与大圆同心
- 画刻度,为了简单,其实只需要画1/4圆的刻度就好,其他部分根据对称可以画出来。为了描述方便,将圆四等分,如下图所示:
为了画每一个刻度,需要知道每个线段的起始坐标,以图中A、B两点来看,A点的坐标很好计算,为(x0+Rsinα,y0−Rcosα)(x_0+Rsin\alpha, y_0-R cos\alpha)(x0+Rsinα,y0−Rcosα),其中α\alphaα为图中A点与圆心所在直线与竖向直线所成的夹角。至于B点,该点必在A点与圆心所在的连线上,假设线段AB的长度为rrr,则可根据A的坐标(xA,yA)(x_A, y_A)(xA,yA)计算出B的坐标为(xA−rsinα,yA+rcosα)(x_A - rsin\alpha, y_A + rcos\alpha)(xA−rsinα,yA+rcosα),其中,A的坐标上一步已经算出,角度α\alphaα与上一步计算A坐标时用到的一致。这样就可以画出线段AB了。 根据对称,可以分别画出在第2、3、4象限的线段了,这样刻度就画出来了。
当然,实际实现表盘时,不需要这样编程去画,可以用工具手动画好,只需要在上面画秒针、时针等。