parent
4809dd6181
commit
fbdb0e1891
@ -0,0 +1,120 @@ |
|||||||
|
```java |
||||||
|
int W = 1280; |
||||||
|
int H = 720; |
||||||
|
String ENGINE = P3D; |
||||||
|
byte AA = 16; |
||||||
|
byte FPS = 120; |
||||||
|
|
||||||
|
void settings() |
||||||
|
{ |
||||||
|
size(W,H,ENGINE); |
||||||
|
smooth(AA); |
||||||
|
} |
||||||
|
|
||||||
|
void setup() |
||||||
|
{ |
||||||
|
background(0); |
||||||
|
frameRate(FPS); |
||||||
|
DATE = createGraphics(W,H,ENGINE); |
||||||
|
CLOCK = createGraphics(W,H,ENGINE); |
||||||
|
} |
||||||
|
|
||||||
|
void draw() |
||||||
|
{ |
||||||
|
DATE(); |
||||||
|
TIME(); |
||||||
|
}``` |
||||||
|
|
||||||
|
```java |
||||||
|
int YEAR = year(); |
||||||
|
int MONTH = month(); |
||||||
|
int DAY = day(); |
||||||
|
int MILLIS = millis(); |
||||||
|
|
||||||
|
PGraphics DATE; |
||||||
|
PGraphics CLOCK; |
||||||
|
|
||||||
|
float HOUR = map(hour()%12,0,TWO_PI,0,TWO_PI); |
||||||
|
float MINUTE = map(minute(),0,TWO_PI,0,TWO_PI); |
||||||
|
float SECOND = map(second(),0,60,0,TWO_PI); |
||||||
|
|
||||||
|
float center = (W-H); |
||||||
|
|
||||||
|
float angle_H = 0; |
||||||
|
float x_H = cos(HOUR-HALF_PI)*center;; |
||||||
|
float y_H = sin(HOUR-HALF_PI)*center;; |
||||||
|
|
||||||
|
float angle_M = 0; |
||||||
|
float x_M = cos(MINUTE-HALF_PI)*center;; |
||||||
|
float y_M = sin(MINUTE-HALF_PI)*center;; |
||||||
|
|
||||||
|
float angle_S = 0; |
||||||
|
float x_S = cos(SECOND-HALF_PI)*center; |
||||||
|
float y_S = sin(SECOND-HALF_PI)*center; |
||||||
|
|
||||||
|
void DATE() |
||||||
|
{ |
||||||
|
DATE.beginDraw(); |
||||||
|
{ |
||||||
|
DATE.background(0); |
||||||
|
DATE.translate(W/2,H/2); |
||||||
|
DATE.scale(1); |
||||||
|
DATE.stroke(255); |
||||||
|
DATE.textSize(MILLIS); |
||||||
|
DATE.text("YEAR: "+YEAR+" MONTH: "+MONTH+" DAY: "+DAY,-W/2,H/2); |
||||||
|
} |
||||||
|
DATE.endDraw(); |
||||||
|
image(DATE,0,0); |
||||||
|
} |
||||||
|
|
||||||
|
void TIME() |
||||||
|
{ |
||||||
|
angle_H = hour(); |
||||||
|
float len_H = FPS*2; |
||||||
|
x_H = cos(angle_H)*len_H; |
||||||
|
y_H = sin(angle_H)*len_H; |
||||||
|
if(angle_H >= 360) |
||||||
|
{angle_H = 0;} |
||||||
|
|
||||||
|
angle_M = minute(); |
||||||
|
float len_M = FPS; |
||||||
|
x_M = cos(angle_M)*len_M; |
||||||
|
y_M = sin(angle_M)*len_M; |
||||||
|
if(angle_M >= 360) |
||||||
|
{angle_M = 0;} |
||||||
|
|
||||||
|
angle_S = second(); |
||||||
|
float len_S = FPS/2; |
||||||
|
x_S = cos(angle_S)*len_S; |
||||||
|
y_S = sin(angle_S)*len_S; |
||||||
|
if(angle_S >= 360) |
||||||
|
{angle_S = 0;} |
||||||
|
|
||||||
|
CLOCK.beginDraw(); |
||||||
|
{ |
||||||
|
CLOCK.background(255,ALPHA); |
||||||
|
CLOCK.translate(W/2,H/2); |
||||||
|
CLOCK.scale(1); |
||||||
|
CLOCK.strokeWeight(MILLIS); |
||||||
|
CLOCK.stroke(255,0,0); |
||||||
|
CLOCK.noFill(); |
||||||
|
CLOCK.circle(0,0,W-H); |
||||||
|
|
||||||
|
CLOCK.strokeWeight(HOUR); |
||||||
|
CLOCK.stroke(255); |
||||||
|
CLOCK.text("HOUR: "+HOUR,-W/2,0); |
||||||
|
CLOCK.line(x_H,y_H,0,0); |
||||||
|
|
||||||
|
CLOCK.strokeWeight(MINUTE); |
||||||
|
CLOCK.stroke(255,255,0); |
||||||
|
CLOCK.text("MINUTE: "+MINUTE,-W/2,16); |
||||||
|
CLOCK.line(x_M,y_M,0,0); |
||||||
|
|
||||||
|
CLOCK.strokeWeight(SECOND); |
||||||
|
CLOCK.stroke(255,0,255); |
||||||
|
CLOCK.text("SECOND: "+SECOND,-W/2,32); |
||||||
|
CLOCK.line(x_S,y_S,0,0); |
||||||
|
} |
||||||
|
CLOCK.endDraw(); |
||||||
|
image(CLOCK,0,0); |
||||||
|
}``` |
Loading…
Reference in new issue