-
Notifications
You must be signed in to change notification settings - Fork 0
Vec2
pjc0247 edited this page Oct 23, 2014
·
1 revision
Vec2는 x,y 좌표를 담는 2차원 벡터
Vec2 a(10,10);Vec2 v;
Vec2 a(10,10), b(20,20);
v.set(10, 10); /* x :10, y :10 */
v.set(a,b); /* a->b로 가는 방향 벡터 */
/*
x = p2.x - p1.x;
y = p2.y - p1.y;
*/사칙 연산
Vec2 a(0,0),
b(10,10);
c = a * 2;
c = a + b;
c = a / 2;
c = a - b;__거리 구하기__ ```C++ Vec2 a(0,0), b(10,10);
float distance1 = a.distance(b); float distance2 = a.distanceSquared(b); /* distance float dx = v.x - x; float dy = v.y - y; return sqrt(dx * dx + dy * dy); / / distanceSquared float dx = v.x - x; float dy = v.y - y; return (dx * dx + dy * dy); */
<br>
__내적__
```C++
dp = a.dot(b);
__외적__ ```C++ cp = a.cross(b); ```
__회전__ ```C++ /* origin 벡터를 기준으로 angle(radian)만큼 회전 */ rotated = a.rotateByAngle(origin, angle); ```
__각도 구하기__ ```C++ /* 두 벡터 사이의 각도 구하기(radian) */ float angle = a.getAngle(b);
/* 현재 벡터의 각도 구하기(radian) */ float angle = a.getAngle();
<br>
상수
----
```C++
/* (0,0)인 벡터 */
Vec2::ZERO
/* (1,1)인 벡터 */
Vec2::ONE
/* X축에 대한 단위벡터 (1,0) */
Vec2::UNIT_X
/* Y축에 대한 단위벡터 (0,1) */
Vec2::UNIT_Y
/* anchor point를 위한 벡터들 */
Vec2::ANCHOR_MIDDLE /* (0.5, 0.5) */
Vec2::ANCHOR_BOTTOM_LEFT
Vec2::ANCHOR_TOP_LEFT
Vec2::ANCHOR_BOTTOM_RIGHT
Vec2::ANCHOR_TOP_RIGHT
Vec2::ANCHOR_MIDDLE_RIGHT
Vec2::ANCHOR_MIDDLE_LEFT
Vec2::ANCHOR_MIDDLE_TOP
Vec2::ANCHOR_MIDDLE_BOTTOM