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