반응형

완전 기초 분들을 대상으로 한 설명입니다.

피타고라스의 정리(Pythagoras' theorem)는 6세기경 수학자 피타고라스가 발견한 것으로 쉽게 말해 삼각형의 한 변 길이를 구하는 공식입니다.. 피타고라스가 이 법칙을 발견하고 너무나 기쁜 나머지 신에게 기도까지 올렸다고 합니다.


피타고라스의 정리

 

c^2 = a^2 + b^2   (코딩)

^는 제곱을 뜻합니다. 제곱은 자기가 자기를 곱하는 것이라 생각하면 됩니다.
 2의 제곱은 2 x 2 = 4,  4의 제곱은 4 x 4 = 8, 8의 제곱은 8 x 8 = 16......

 

a제곱에  b제곱을 더하면 c제곱의 길이와 같다는 뜻 입니다. 왜 제곱을 해야 같은 길이가 나오는지는 아직도 인간이 완전히 이해하고 있지 못한다고 합니다.그냥 자연의 법칙이라고..........

 

이공식은 간단하지만 인간의 세계에서 실제로 곳곳에 사용되고 있습니다. 건축 및 공학 건물, 다리, 도로 및 다른 구조물을 설계, 물리학 원자 구조, 파동 이론등, GPS 및 내비게이션 시스템의 거리 측정, 경제학에서 데이터 분석할 때도 사용한다고 합니다. 컴퓨터 그래픽스 및 게임 개발에서 물체의 위치, 크기 및 각도를 계산 등등 등에 사용됩니다.


게임에서 목표물과 캐릭터의 위치의 거리를 계산하는데 사용됩니다.. 예를 들어 캐릭터가 어느 물체와 더 가까 멀리 있나 있나 등등...

 

캐릭터와 몬스터의 거리

중심에 캐릭터가 있고 , 몬스터가 가로나 세로로  정확한 직각 위치에 있다면 거리를 계산하기 쉬울 것입니다. 가로나 세로길이만  계산하면 되니까요. 하지만 넓은 맵에서 몬스터의 위치는, 위 그림처럼  대각선으로 위치하는 경우가 대부분입니다. 이럴 때 피타고라스의 정리가 사용됩니다.

 

char.x char.y 캐릭터 위치, 

Amob.x Amob.Y 몬스터 A의 위치

bmob.x bmob.Y 몬스터 b의 위치

 x는 세로 길이, y는 가로길이

 

캐릭터와 A 몬스터와의 거리는 피타고라스의 정리를 사용하면 쉽게 거리를 구할 수 있습니다.
distance = (char.x - Amob.x) * (char.x - Amob.x) + (char.y - Amob.y) * (char.y - Amob.y)

 

캐릭터와 B 몬스터와의 거리는 피타고라스의 정리를 사용하면 쉽게 거리를 구할수 있습니다.

distance = (char.x - Bmob.x) * (char.x - Bmob.x) + (char.y - Bmob.y) * (char.y - Bmob.y)

 

피타고라스의 정리를 사용해서 게임 맵에서 간단하게 몬스터와 캐릭터 사이의 거리를 구할수 있습니다.^^;

반응형

+ Recent posts