| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 857 人关注过本帖
标题:做时钟时为什么这样算?解释一下吧
取消只看楼主 加入收藏
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
结帖率:94.74%
收藏
已结贴  问题点数:20 回复次数:6 
做时钟时为什么这样算?解释一下吧
#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;
#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) /*定义……*/
搜索更多相关主题的帖子: 时钟 
2011-06-20 21:27
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
收藏
得分:0 
#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300; //比如这个,是画哪根针啊?
x=a*cos(b*c*pi/180-pi/2)+300   这个运算怎么就能正确表示钟表转速啊???
2011-06-21 13:47
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
收藏
得分:0 
#include<graphics.h>
#include<math.h>
#include<dos.h>
#define PI 3.1415926
#define mid_x 320    /*定义钟表中心坐标*/
#define mid_y 240
 
int main()
{
    int graphdriver=0,graphmode;
    int end_x,end_y;
     struct time curtime;
     float th_hour,th_min,th_sec;
     initgraph(&graphdriver,&graphmode,"e:\\TC");
     setbkcolor(0);
     while(! kbhit())/*有键盘输入时退出*/
     {      
         /*画表盘*/
         setcolor(14);
          circle(mid_x,mid_y,150);
          circle(mid_x,mid_y,2);
         gettime(&curtime);   /*得到当前系统时间*/
            /*以下三行计算表针转动角度,以竖直向上为起点,顺时针为正*/
           th_sec=(float)curtime.ti_sec*0.1047197551;                 /*2π/60=0.1047197551*/
           th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0;
           th_hour=(float)curtime.ti_hour*0.523598775+th_min/12.0;    /*2π/12=0.5235987755*/
           /*画时针*/
           end_x=mid_x+70*sin(th_hour);
          end_y=mid_y-70*cos(th_hour);
          setcolor(5);
          line(mid_x,mid_y,end_x,end_y);   
           /*画分针*/
           end_x=mid_x+110*sin(th_min);
          end_y=mid_y-110*cos(th_min);
         setcolor(5);
          line(mid_x,mid_y,end_x,end_y);  
           /*画秒针*/
           end_x=mid_x+140*sin(th_sec);
          end_y=mid_y-140*cos(th_sec);
          setcolor(5);
          line(mid_x,mid_y,end_x,end_y);
           sleep(1);      /*延时一秒后刷新*/
           cleardevice();
       }
     closegraph();
     return 0;
}
这个是全部……
2011-06-21 15:57
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
收藏
得分:0 
以下是引用多布斯的喵喵在2011-6-21 15:57:45的发言:

#include
#include
#include
#define PI 3.1415926
#define mid_x 320    /*定义钟表中心坐标*/
#define mid_y 240
 
int main()
{
    int graphdriver=0,graphmode;
    int end_x,end_y;
     struct time curtime;
     float th_hour,th_min,th_sec;
     initgraph(&graphdriver,&graphmode,"e:\\TC");
     setbkcolor(0);
     while(! kbhit())/*有键盘输入时退出*/
     {      
         /*画表盘*/
         setcolor(14);
          circle(mid_x,mid_y,150);
          circle(mid_x,mid_y,2);
         gettime(&curtime);   /*得到当前系统时间*/
            /*以下三行计算表针转动角度,以竖直向上为起点,顺时针为正*/
           th_sec=(float)curtime.ti_sec*0.1047197551;                 /*2π/60=0.1047197551*/
           th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0;
           th_hour=(float)curtime.ti_hour*0.523598775+th_min/12.0;    /*2π/12=0.5235987755*/
           /*画时针*/
           end_x=mid_x+70*sin(th_hour);
          end_y=mid_y-70*cos(th_hour);
          setcolor(5);
          line(mid_x,mid_y,end_x,end_y);   
           /*画分针*/
           end_x=mid_x+110*sin(th_min);
          end_y=mid_y-110*cos(th_min);
         setcolor(5);
          line(mid_x,mid_y,end_x,end_y);  
           /*画秒针*/
           end_x=mid_x+140*sin(th_sec);
          end_y=mid_y-140*cos(th_sec);
          setcolor(5);
          line(mid_x,mid_y,end_x,end_y);
           sleep(1);      /*延时一秒后刷新*/
           cleardevice();
       }
     closegraph();
     return 0;
}
这个是全部……
啊……把另外一个钟表发出来了……
2011-06-21 16:04
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
收藏
得分:0 
回复 4楼 kelas
怎么算的啊,能解释具体点吗
2011-06-21 16:08
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
收藏
得分:0 
回复 10楼 kelas
我还没学到制图呢,都是看别人的想看懂别人的菜来这瞎问问的
2011-06-21 16:54
多布斯的喵喵
Rank: 2
等 级:论坛游民
帖 子:133
专家分:24
注 册:2011-3-29
收藏
得分:0 
有空研究…………
2011-06-22 11:28
快速回复:做时钟时为什么这样算?解释一下吧
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037202 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved