Skip to main content

6. 벡터 정규화

벡터 정규화

  • 벡터에서 표준은 길이가 1인 벡터인 단위 벡터(unit vector) 입니다.
  • 벡터를 정규화한다는 것은 방향은 유지하고, 길이만 1로 변경한다는 의미 입니다.
  • 단위 벡터는 방향을 알려줄 수 있어 유용함
  • 벡터 정규화 식: u^=uu\hat{u} = \frac{\overrightarrow{u}}{||\overrightarrow{u}||}
function normalize() {
const m = mag();

// 길이가 0인 경우 나눗셈이 불가능하므로 제외
m > 0 && this.div(m);
}
function draw() {
background(255);

let mouse = createVector(mouseX, mouseY);
let center = createVector(width / 2, height / 2);
mouse.sub(center);

translate(width / 2, height / 2);
stroke(200);
strokeWeight(2);
line(0, 0, mouse.x, mouse.y);

// 벡터 정규화
mouse.normalize();
// 길이 * 50 (늘 50px의 길이를 가짐)
mouse.mult(50);

stroke(0);
strokeWeight(8);
line(0, 0, mouse.x, mouse.y);
}

예제 코드 1.6: 벡터 정규화