[Nature of Code] processing 6. rotate 함수를 이용한 회전 운동, 극 좌표를 직교 좌표로 변환
2023. 2. 3. 23:50
반응형
▼ 예제 3-1. rotate 함수를 이용한 회전 운동
//각도
float angle = 0;
//각속도(속도와 비슷하다)
float aVelocity = 0;
//각가속도(가속도와 비슷하다)
float aAcceleration = 0.0001;
void setup() {
size(200, 200);
}
void draw(){
background(200);
fill(175);
stroke(0);
rectMode(CENTER);
translate(width/2, height/2);
rotate(angle);
line(-50,0,50,0);
ellipse(50,0,8,8);
ellipse(-50,0,8,8);
//각속도는 속도와 비슷한 방법으로 구한다.
aVelocity += aAcceleration;
//각은 위치와 비슷한 방법으로 구한다.
angle += aVelocity;
}
처음에는 느리다가 점점 더 빨리 회전한다.
결과물
▼ 예제 3-4. 극 좌표를 직교 좌표로 변환
float r = 75;
float theta = 0;
void setup() {
size(200, 200);
background(200);
}
void draw(){
//극 좌표(x,theta)를 직교 좌표(x,y)로 변환함
//이렇게 구한 좌표를 ellipse()함수의 매개변수로 넣어줌
float x = r*cos(theta);
float y = r*sin(theta);
noStroke();
fill(0);
ellipse(x+width/2, y+height/2, 16, 16);
theta += 0.01;
}
결과물
반응형
'한 걸음 > Creative coding' 카테고리의 다른 글
[Nature of Code] processing 8. 파동 (0) | 2023.02.06 |
---|---|
[Nature of Code] processing 7. 진동의 진폭과 주기 (0) | 2023.02.06 |
[Nature of Code] processing 5. 힘 생성 (1) | 2023.02.02 |
[Nature of Code] processing 4. 마우스를 향해 가속되는 객체들 (0) | 2023.02.01 |
[Nature of Code] processing 3. 속도/가속도와 벡터를 활용한 이동 (0) | 2023.02.01 |