컴퓨터 그래픽스 수업의 레포트로 OpenGL로 작성했었던 학교 로고를 Processing 언어로 재작성하였다.
나에게 부족한 그래픽스 및 수학을 공부할 수 있는 최적의 환경이 갖춰졌다.
단기적으로는 다른 레포트도 재작성해보고, 장기적으로는 여러 창의적인 작품을 더 만들고 싶다.
color navy = color(0, 56, 118);
color sky = color(0, 154, 218);
color white = color(255);
void setup() {
size(140, 120);
background(255);
noStroke();
noLoop();
}
void draw(){
drawLeftCresent();
drawRightCresent();
drawCenterFullMoon();
drawCenterDiamond();
}
void drawLeftCresent() {
// left half circle
fill(navy);
arc(width / 2 - 20, height / 2, 82, 82, PI * 0.5, PI * 1.5);
// left half circle
fill(white);
arc(width / 2 - 8, height / 2, 84, 84, PI * 0.5, PI * 1.5);
}
void drawRightCresent() {
// right half circle
fill(sky);
arc(width / 2 + 20, height / 2, 82, 82, PI * -0.5 , PI * 0.5);
// right half circle
fill(white);
arc(width / 2 + 8, height / 2, 84, 84, PI * -0.5 , PI * 0.5);
}
void drawCenterFullMoon() {
// left half circle
fill(sky);
arc(width / 2, height / 2, 80, 80, PI * 0.5, PI * 1.5);
// right half circle
fill(navy);
arc(width / 2, height / 2, 80, 80, PI * -0.5 , PI * 0.5);
}
void drawCenterDiamond() {
// north-west triangle
fill(sky);
triangle(width / 2, 0, width / 2, height / 2, (width / 2) - 14, height / 2);
// south-east triangle
fill(navy);
triangle(width / 2, height, width / 2, height / 2, (width / 2) + 14, height / 2);
// north-east & south-west triangle
fill(white);
triangle(width / 2, 0, width / 2, height / 2, (width / 2) + 14, height / 2);
triangle(width / 2, height, width / 2, height / 2, (width / 2) - 14, height / 2);
}