게임수학 완전 기초, 피타고라스의 정리(Pythagoras' theorem)
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
로켓배송으로 빠르게, 로켓와우 멤버십으로 할인과 무료 반품까지 | 쿠팡
쿠팡 로켓배송, 로켓프레시, 로켓직구, 로켓럭셔리까지 쿠팡 멤버십으로 모든 혜택을 한 번에 누려보세요. 쿠팡 로켓와우 멤버는 무료배송도 가능합니다.
www.coupang.com
완전 기초 분들을 대상으로 한 설명입니다.
피타고라스의 정리(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)
피타고라스의 정리를 사용해서 게임 맵에서 간단하게 몬스터와 캐릭터 사이의 거리를 구할수 있습니다.^^;