완전 기초 분들을 대상으로 한 설명입니다.
피타고라스의 정리(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)
피타고라스의 정리를 사용해서 게임 맵에서 간단하게 몬스터와 캐릭터 사이의 거리를 구할수 있습니다.^^;
'프로그램잉_기타' 카테고리의 다른 글
블렌더 Blender 미러 방향 오류, Blender mirror (0) | 2023.09.03 |
---|---|
비쥬얼 스튜디오 코드 Visual Studio Code 페이지 처음,끝 , 문장 처음,끝 이동, 한줄 지우기 단축키 설정 (0) | 2023.06.21 |
비쥬얼 스튜디오 코드 Visual Studio Code 색 변경 및 한글 주석 등의 하이라이트(사각형 표시) 없애기 (0) | 2023.04.02 |
비주얼 스튜디오 코드 단축키 바꾸기 (0) | 2023.03.16 |
블렌더 Blender Loop cut 사용하기 (0) | 2023.02.21 |