• 模拟时钟的问题


    上学期中旬的实训未解决的问题:1、时针不能表现分钟出的区别,2、有时会乱摆动。

    数学公式没有错误,怎么调也是那个问题。

    x = cos (2*PI/$);

    y = sin (2*PI/$);

    这个是单位圆上的指针的方向。然后乘上系数,就能构造出长度各异的时针分针和秒针。

    变量名有点乱。。解释一下

    secondofR是秒针。。同理理解分针和时针

    1问题是因为(int)(Init.y/4)*sin(TWOPI/12*(DateTime.wHour - 3 + (DateTime.wMinute)/60) );单单一个60把(DateTime.wMinute)/60) )的运算结果搞成整数了,由于分钟数DateTime.wMinute不可能大于60,这就造成(DateTime.wMinute)/60) )的结果不是0就是1了,导致(DateTime.wHour - 3 + (DateTime.wMinute)/60) 换算出来的小时不是比较精确的小数而是浮动在DateTime.wHour+/-1的整数,导致指针突然摆动5格(30度)。

    这是一个很容易犯的错误,与此相应的还有if(a==0.1)的问题。(补充)

    2问题是因为把分钟换算成小时的时候加的位置搞错了,对时钟指针角度换算公式理解不到位。

  • 相关阅读:
    Codeforces 1368F
    Codeforces 1364C
    Hiho1422 Harmonic Matrix Counter (高斯消元)
    Codeforces 19D
    P3164 [CQOI2014]和谐矩阵(高斯消元 + bitset)
    P4254 [JSOI2008]Blue Mary开公司 (李超树)
    P4755 Beautiful Pair (分治 + 主席树)
    P4587 [FJOI2016]神秘数(主席树)
    分布式锁实现,与分布式定时任务
    redis应用场景,缓存的各种问题
  • 原文地址:https://www.cnblogs.com/ppazhang/p/2913104.html
Copyright © 2020-2023  润新知