欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 有關指針式時鐘--求幫忙分析一下··· [打印本頁]

作者: apin123    時間: 2016-1-2 21:48
標題: 有關指針式時鐘--求幫忙分析一下···
21:45:03
依然呆 2016/1/2 21:45:03

/**************************************************************************
指針式時鐘
說明:
入口:
                x0 = 表盤圓心X坐標
                y0 = 表盤圓心Y坐標
                r=表盤半徑
                ClkCor = 表盤顏色
                SecPotCor = 秒針顏色
                MinPotCor= 分鐘顏色
                HourPotCor= 時針顏色
                *Clocker = 當前時間結構體
返回:無
**************************************************************************/
void ClockDial(uchar x0,y0,r,ClkCor,SecPotCor,MinPotCor,HourPotCor,Clock *Clocker)                  
{                 
         //角度轉弧度公式         2*PI/360*角度
         #define  PI 3.1415926
         float i;
         static float idata RadSecondx,RadSecondy,RadMinutex,RadMinutey,RadHourx,RadHoury;
         for(i=0;i<=2*PI;i+=PI/6)                //畫表盤12等分:2*PI/12
          {
               PrintDot( x0+r*sin(i),y0+r*cos(i),0,ClkCor);
               PrintDot( x0+(r-1)*sin(i),y0+(r-1)*cos(i),0,ClkCor) ;
          }
         
         Linexy(x0,y0,x0+(r-3)*RadSecondx,y0-(r-3)*RadSecondy,0,Black) ;     //清除上一秒針軌跡
         RadSecondx=sin(PI/180*6*BCDtoHEX(Clocker->Second));                        //計算秒針當前弧度正余弦
         RadSecondy=cos(PI/180*6*BCDtoHEX(Clocker->Second));
         Linexy(x0,y0,x0+(r-3)*RadSecondx,y0-(r-3)*RadSecondy,0,SecPotCor) ;//畫出當前秒針

        Linexy(x0,y0,x0+(r-5)*RadMinutex,y0-(r-5)*RadMinutey,0,Black) ;         //清除上一分針軌跡
        RadMinutex=sin(PI/180*6*BCDtoHEX(Clocker->Minute));                        //計算分針當前弧度正余弦
        RadMinutey=cos(PI/180*6*BCDtoHEX(Clocker->Minute));
         Linexy(x0,y0,x0+(r-5)*RadMinutex,y0-(r-5)*RadMinutey,0,MinPotCor) ;  //畫出當前分針
               
         Linexy(x0,y0,x0+(r-9)*RadHourx,y0-(r-9)*RadHoury,0,Black) ;             //清除上一時針軌跡
        RadHourx=sin(PI/180*(30*(BCDtoHEX(Clocker->Hour)%12)+BCDtoHEX(Clocker->Minute)/12*6)); //計算時針針當前弧度正余弦
        RadHoury=cos(PI/180*(30*(BCDtoHEX(Clocker->Hour)%12)+BCDtoHEX(Clocker->Minute)/12*6));
         Linexy(x0,y0,x0+(r-9)*RadHourx,y0-(r-9)*RadHoury,0,HourPotCor) ;                                           //畫出當前時針
}

Linexy為任意角度畫線函數,PrintDot為畫點函數,可以在任意位置顯示r>10的指針時鐘,r<10太小沒有意義了,時分秒針可以定義顏色。




作者: apin123    時間: 2016-1-2 21:49
求幫助····
作者: apin123    時間: 2016-1-2 21:49
求幫助啊··
作者: mianmian001    時間: 2016-1-4 09:26
這是POV還是點陣 阿
作者: ludaijin    時間: 2016-1-11 08:45
這是POV還是點陣
作者: 13516561303    時間: 2016-1-11 13:56
沒弄過
作者: 1310429075    時間: 2016-1-11 15:07
沒明白你想問什么。
作者: w1179benp    時間: 2020-1-3 14:34
這不是51能干的事吧?
作者: 御羽    時間: 2020-1-3 17:17
不懂,好復雜




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1