找回密码
 快速注册
搜索
查看: 1707|回复: 6

[无聊] 用 tikz 画简易时钟

[复制链接]

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2016-3-8 01:54 |阅读模式
纯粹无聊下

QQ图片20160308015125.png

QQ截图20160308015146.png

用法、示例及具体代码见下列附件。
$type

clock.tex

3.7 KB, 下载次数: 798

$type

clock.pdf

64.81 KB, 下载次数: 1460

413

主题

1558

回帖

1万

积分

积分
11498

显示全部楼层

abababa 发表于 2016-3-8 11:18
回复 1# kuing

听说latex能做动画,这个是不是也能像时钟那样做成动起来的?

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2016-3-8 13:02
回复 2# abababa

这个是不动的,我能做到的只是显示编译的那一刻的时间,所以纯粹无聊。

0

主题

9

回帖

46

积分

积分
46
QQ

显示全部楼层

Jan 发表于 2016-6-28 07:00
学习了

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2023-2-17 23:19
跑个题,用 CSS + JS 也弄一个简易时钟:
(懒得画刻度)
实现代码见楼下(发这里的话由于开了 html 的关系 code 里的空格会失效,代码难看,只好发楼下)

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2023-2-17 23:25
  1. <style>
  2. #circle {
  3.     width: 200px;
  4.     height: 200px;
  5.     border-radius: 100px;
  6.     border: 2px solid black;
  7. }
  8. #circle>div {
  9.     width: 0px;
  10.     height: 0px;
  11. }
  12. #sec,#min,#hour {
  13.     position: relative;
  14.     transform-origin: bottom;
  15. }
  16. #sec {
  17.     width: 2px;
  18.     left: 99px;
  19.     height: 80px;
  20.     top: 20px;
  21.     background-color: red;
  22. }
  23. #min {
  24.     width: 4px;
  25.     left: 98px;
  26.     height: 65px;
  27.     top: 35px;
  28.     background-color: blue;
  29. }
  30. #hour {
  31.     width: 6px;
  32.     left: 97px;
  33.     height: 50px;
  34.     top: 50px;
  35.     background-color: black;
  36. }
  37. .num {
  38.     width: 200px;
  39.     height: 200px;
  40.     line-height: 200px;
  41.     text-align: center;
  42. }
  43. </style>
  44. <div id="circle">
  45.     <div><div id="hour"></div></div>
  46.     <div><div id="min"></div></div>
  47.     <div><div id="sec"></div></div>
  48. </div>
  49. <script>
  50. let cc = document.getElementById("circle");
  51. for(let i=1;i<13;i++){
  52.     let div = document.createElement("div");
  53.     div.innerHTML = `<div class="num" style="transform: rotate(${30*i}deg) translate(0,-85px) rotate(${-30*i}deg);">${i}</div>`;
  54.     cc.appendChild(div);
  55. }
  56. function time(){
  57.     let s=document.getElementById("sec");
  58.     let m=document.getElementById("min");
  59.     let h=document.getElementById("hour");
  60.     let date=new Date();
  61.     let snum=date.getSeconds();
  62.     let mnum=date.getMinutes()+snum/60;
  63.     let hnum=date.getHours()+mnum/60;
  64.     s.style.transform=`rotate(${snum*6}deg)`;
  65.     m.style.transform=`rotate(${mnum*6}deg)`;
  66.     h.style.transform=`rotate(${hnum*30}deg)`;
  67. }
  68. setInterval(time,1000)
  69. </script>
复制代码

830

主题

4862

回帖

3万

积分

积分
36159

显示全部楼层

isee 发表于 2023-2-18 00:19
kuing 发表于 2023-2-17 23:19
跑个题,用 CSS + JS 也弄一个简易时钟:

#circle {

哎哟快十二点半了,睡觉睡觉
isee=freeMaths@知乎

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 11:58

Powered by Discuz!

× 快速回复 返回顶部 返回列表