首页 > 其他分享 >运动的时钟

运动的时钟

时间:2024-11-03 17:57:34浏览次数:3  
标签:PS center int hourEnd minuteEnd setlinestyle 运动 时钟

#include <graphics.h>
#include <conio.h>
#include <math.h>
#define Width 640
#define Height 480
#define PI 3.14159
int main()
{
    // 初始化绘图窗口
    initgraph(640, 480, SHOWCONSOLE);
    //秒针起始坐标
    int center_x = Width / 2, center_y = Height / 2;
    //秒针终点坐标
    int secondEnd_x, secondEnd_y;
    //分针终点坐标
    int minuteEnd_x, minuteEnd_y;
    //时针终点坐标
    int hourEnd_x, hourEnd_y;
    //秒针长度
    int secondLength = Width / 4;
    //分针长度
    int minuteLength = Width / 5.5;
    //时针长度
    int hourLength = Width / 7;
    //秒针对应转到角度
    float secondAngle = 0;
    //分针对应转到角度
    float minuteAngle = 0;
    //时针对应转到角度
    float hourAngle = 0;
    //定义变量存储系统时间
    SYSTEMTIME ti;
    BeginBatchDraw();
    while (1)
    {
        setfillcolor(YELLOW);
        setlinestyle(PS_DASHDOTDOT, 5);
        setlinecolor(0x555555);
        circle(center_x, center_y, secondLength + 30);
        setcolor(0xAAAAAA);
        setlinestyle(PS_DOT | PS_ENDCAP_SQUARE, 2);
        circle(center_x, center_y, secondLength + 15);
        for (int i = 0; i < 12; i++)
        {
            int x = center_x + cos(i * 30.0 / 360 * 2 * PI) * (secondLength + 15.0);
            int y = center_y - sin(i * 30.0 / 360 * 2 * PI) * (secondLength + 15.0);
            fillcircle(x, y, 5);
        }
        GetLocalTime(&ti);
        secondAngle = (ti.wSecond / 60.0) * (2 * PI);
        minuteAngle = (ti.wMinute / 60.0) * (2 * PI);
        hourAngle = ((ti.wHour % 12) / 12.0) * (2 * PI) + (ti.wMinute / 60.0) * (2 * PI / 12.0);
        secondEnd_x = center_x + secondLength * sin(secondAngle);
        secondEnd_y = center_y - secondLength * cos(secondAngle);
        minuteEnd_x = center_x + minuteLength * sin(minuteAngle);
        minuteEnd_y = center_y - minuteLength * cos(minuteAngle);
        hourEnd_x = center_x + hourLength * sin(hourAngle);
        hourEnd_y = center_y - hourLength * cos(hourAngle);
        //画秒针
        setlinestyle(PS_SOLID, 1);
        setcolor(WHITE);
        line(center_x, center_y, secondEnd_x, secondEnd_y);
        //画分针
        setlinestyle(PS_SOLID, 2);
        setcolor(GREEN);
        line(center_x, center_y, minuteEnd_x, minuteEnd_y);
        //画时针
        setlinestyle(PS_SOLID, 5);
        setcolor(RED);
        line(center_x, center_y, hourEnd_x, hourEnd_y);
        FlushBatchDraw();
        setlinestyle(PS_SOLID, 1);
        setcolor(BLACK);
        line(center_x, center_y, secondEnd_x, secondEnd_y);
        setlinestyle(PS_SOLID, 2);
        setcolor(BLACK);
        line(center_x, center_y, minuteEnd_x, minuteEnd_y);
        setlinestyle(PS_SOLID, 5);
        setcolor(BLACK);
        line(center_x, center_y, hourEnd_x, hourEnd_y);
    }
    EndBatchDraw();
    system("pause");
    closegraph();
    return 0;
}

 

结果:

 

标签:PS,center,int,hourEnd,minuteEnd,setlinestyle,运动,时钟
From: https://www.cnblogs.com/Gaowaly/p/18523715

相关文章

  • SpringBoot体育科技运动综合信息平台eap6z程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目名称体育科技运动综合信息平台构建二、研究背景与意义随着体育产业的快速发展和科技的不断进步,体育科技运动综合信息平台的建设成为推动......
  • 打造一个带报时功能的卡通数字时钟 —— 使用Python和Tkinter
    引言在这个数字化时代,我们周围充满了各种各样的电子设备。然而,有时候一个简单而有趣的数字时钟也能给我们的生活带来不少乐趣。本文将介绍如何使用Python和Tkinter库来创建一个带有背景图片和报时功能的卡通数字时钟。这个项目不仅能够展示当前时间,还能在整点和半点时播放......
  • hadoop+Spark+django基于大数据技术的国内运动男装小红书文章数据可视化分析系统(源码
    收藏关注不迷路!!......
  • 从二维图像到三维重建:由运动到结构(SfM)的完整流程推导【含数学原理及推导】
    结构从运动(SfM)-稀疏特征点的3D重建1.引言由运动到结构(StructurefromMotion,SfM)是一种从二维图像序列中恢复三维结构和相机运动的技术。在SfM中,通过分析图像中稀疏的特征点,我们可以估计出相机在拍摄过程中经历的姿态变化,并重建出场景的三维几何结构。COLMAP等常用的Sf......
  • 京准时钟:子母钟系统是什么?应用场景是?
    京准时钟:子母钟系统是什么?应用场景是?京准时钟:子母钟系统是什么?应用场景是?京准电子官微——ahjzsz在信息时代的今天,准确统一的时钟系统已广泛的应用在车站、医院、学校、机场等公共服务场所。因此完善的时钟系统对医院来说,是至关重要的。按照医院等智能化楼宇工程对时钟系统的......
  • 京准时钟:子母钟系统是什么?网络子母钟优势有哪些?
    京准时钟:子母钟系统是什么?网络子母钟优势有哪些?京准时钟:子母钟系统是什么?网络子母钟优势有哪些?京准电子科技官微——ahjzsz在信息时代的今天,准确统一的时钟系统已广泛的应用在车站、医院、学校、机场等公共服务场所。因此完善的时钟系统对医院来说,是至关重要的。按照医院等智......
  • 16、基于AT89C52的数码电子时钟(带时钟校准、清零功能)proteus仿真设计
    一、仿真原理图:二、仿真效果:三、相关代码:1、主函数:voidmain(void){      SystemInit();   VariableInit();            while(1)        {      if(key==0)      {       ......
  • Linux Centos7 同步服务器时钟为北京时间
    Linux服务器时间不准确,容易造成日志时间错误、数据统计时间不准确等问题,因此需要将服务器时间设置准确并实时更新。操作步骤如下:1、安装ntp使用date命令查看时间是否准确:date如果不准确,使用ntp同步最新网络时间,安装ntp:yuminstall-yntp2、启动ntp服务执行命令:systemctl......
  • 掌控物体运动艺术:图扑 Easing 函数实践应用
    现如今,前端开发除了构建功能性的网站和应用程序外,还需要创建具有吸引力且尤为流畅交互的用户界面,其中动画技术在其中发挥着至关重要的作用。在数字孪生领域,动画的应用显得尤为重要。数字孪生技术通过精确模拟现实世界中的对象、过程和系统,对动画的需求远远超过传统前端开发。在......
  • Ai乐运动系统震撼发布!
    经过研发小伙伴的不懈努力,我们的全景式Ai运动解决方案新成员「Ai乐运动」,已于今天正式上线;本系统主要为无开发能力的客户,提供开通即用即办的云上运动赛事活动、云上运动会、云上运动团建、Ai体测作业、AI体测测验的一键解决方案。一、    零开发,开通即用:系统依托我们“Ai运动......