processing时钟代码带刻度
时间: 2023-07-09 21:16:47 浏览: 110
以下是一个简单的 Processing 时钟代码,包括刻度:
```java
void setup() {
size(400, 400);
angleMode(DEGREES);
}
void draw() {
background(255);
translate(width / 2, height / 2);
// 绘制刻度
strokeWeight(2);
stroke(0);
for (int i = 0; i < 60; i++) {
line(0, -150, 0, -140);
rotate(6);
}
// 绘制时针
strokeWeight(4);
stroke(255, 0, 0);
int hour = hour() % 12;
float hourAngle = map(hour, 0, 12, 0, 360);
rotate(hourAngle);
line(0, 0, 0, -80);
// 绘制分针
strokeWeight(3);
stroke(0, 255, 0);
int minute = minute();
float minuteAngle = map(minute, 0, 60, 0, 360);
rotate(-hourAngle);
rotate(minuteAngle);
line(0, 0, 0, -120);
// 绘制秒针
strokeWeight(2);
stroke(0, 0, 255);
int second = second();
float secondAngle = map(second, 0, 60, 0, 360);
rotate(-minuteAngle);
rotate(secondAngle);
line(0, 0, 0, -140);
}
```
这个代码通过 `hour()`、`minute()` 和 `second()` 函数获取当前的小时、分钟和秒,然后将它们转换为角度,最后绘制时针、分针和秒针。在绘制时钟之前,代码使用 `angleMode(DEGREES)` 将角度模式设置为度数。在 `draw()` 函数中,使用循环绘制刻度,并使用 `rotate()` 函数旋转画布以便绘制针。
阅读全文