[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;
}

 

결과물

반응형

BELATED ARTICLES

more