运动的时钟

news/2024/12/27 15:37:57/文章来源:https://www.cnblogs.com/Gaowaly/p/18523715
#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;
}

 

结果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/826252.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python装饰器在接口测试中常用场景

日志记录 异常捕获与记录 解决Case间依赖 记录Case执行时间以记录Case执行时间为例:

20222401 2024-2025-1 《网络与系统攻防技术》实验四实验报告

1.实验内容 1.1基本概念 1.1.1什么是恶意代码 首先,恶意代码是一串实现特定功能的代码,而特定功能在这里特指具有恶意目的的功能实现,可以理解为按照攻击者的意愿进行运行的代码。 按照特征以及行为的不同,大概分为以下几类:计算机病毒 蠕虫(病毒) 后门 木马 僵尸网络 R…

目录提取,删除,添加

目录提取目录删除目录制作目录效果图 目前有两个问题,一般的目录文本格式有问题,需要用正则化方式,生成比较好的目录文件,比如csv格式,txt格式 另外,生成的目录,层级只有一级 提取目录import fitz # PyMuPDF import pandas as pd# 打开PDF文件 pdf_path = 力学概论.pdf…

2023 国际大学生程序设计竞赛亚洲区域赛(济南站)(SMU Autumn 2024 Team Round 2)

2023 国际大学生程序设计竞赛亚洲区域赛(济南站)(SMU Autumn 2024 Team Round 2) I. Strange Sorting 思路代码查看代码 #include #define ll __int128 #define int long long #define double long double #define PII pair using namespace std; const int N = 2E5 + 3; …

MyBatis-Plus快速入门:从安装到第一个Demo

本文将带你从零开始,快速入门 MyBatis-Plus。我们将首先介绍如何安装和配置 MyBatis-Plus,然后通过一个简单的示例演示如何使用它进行数据操作。无论你是 MyBatis 的新手还是希望提升开发效率的老手,本文都将为你提供清晰的指导和实用的技巧。一、前言 在现代 Java 应用程序…

docker bulid tag push到自己的docker hub 仓库

-t(或 --tag)参数:用于给构建的镜像指定标签(tag)。标签的格式通常是 [仓库名/][用户名/]镜像名:版本号 -f(或 --file)参数: 指定构建镜像所使用的 Dockerfile 的路径。默认情况下,docker build 会在当前目录下查找名为 Dockerfile 的文件,但通过这个参数可以指定其他…

《使用Gin框架构建分布式应用》阅读笔记:p393-p437

《用Gin框架构建分布式应用》学习第17天,p393-p437总结,总45页。 一、技术总结 1.Prometheus Prometheus放在代码里面使用,还是第一次见。在本人实际的工作中未看到这种用法。 2.Grafana Grafana用于被监控数据的可视化。 3.Telegraf Telegraf用于数据采集。在本人的实际工作…

2024.11.3 鲜花

浅谈 RMQ浅谈 RMQ비밀 인형극 II어느 한적한 마을 골목 안의 허름한 건물在某个僻静村庄胡同的破旧建筑里문을 열고 들어가면 작은 극장이 있죠开门进去便会见到一个小剧场솜씨 좋은 인형사가 연극을 마치고 떠나면一个手艺不错的人偶师演完戏离开的时候인형들은 극장 창고 안에…

2024-2025-1 20241301 《计算机基础与程序设计》第六周学习总结

|这个作业属于哪个课程|<2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)>| |这个作业要求在哪里|<2024-2025-1计算机基础与程序设计第六周作业](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06)>| |这个作业的…

【UWP】让 UWP 自己托管自己 —— Windows App SDK 篇

众所周知,UWP 使用的窗口模型是 CoreWindow,但是 UWP 本身只是一个应用模型,所以完全可以创建 win32 窗口,那么我们可以不可以创建一个 win32 窗口,然后像 XAML 岛 (XAML Islands) 一样把 XAML 托管上去呢?本篇将讲述如何利用 WAS (Windows App SDK,俗称 WinUI3) 在 UWP…

【算法】记忆化搜索

[!TIP] 一种剪枝算法,优化运算效率,减少冗余计算基本内容入门例子 [P1028 [NOIP2001 普及组] 数的计算]([P1028 NOIP2001 普及组] 数的计算 - 洛谷 | 计算机科学教育新生态)题目要求:输入n,输出一共可以构造多少个数列,要求数列的第 i不能超过第i-1个数的一半 示例:输入6…

『模拟赛』NOIP2024模拟1

『模拟赛记录』NOIP2024模拟1Rank 有点可惜,A. 玩游戏 绝妙贪心题。感觉这种能产生很多假做法且都可 hack 的贪心都是好题。 赛时不知道为什么犯唐没交一开始的暴力贪心。 考虑双指针,设左右指针分别为 \(l,r\)。主要思路是实时维护当前两个指针向两边最近的一个区间和不为正…