240122-TIL

2024. 1. 22. 22:07내일배움캠프

오늘은 두고두고 보면서 써먹을 두가지를 들고와봤다.

 

쿼터니언, 아크탄젠트

 

쿼터니언

더보기
  • 4차원 복소수를 이용한 회전 표현 방법입니다. (x, y, z, w) 형태로 표현되며, Unity에서 주로 사용됩니다.
  • 오일러 각도(Euler angles)를 사용하여 회전을 표현할 경우 발생하는 짐벌 락(Gimbal Lock) 문제를 피할 수 있습니다.
  • 직관적이지 않고 복잡해 보일 수 있지만, Unity에서는 쿼터니언을 사용하기 쉽게 만들어졌습니다.
  • 직접 값을 변경하거나 계산하는 대신, Unity의 내장 함수를 사용하는 것이 좋습니다 (예: Quaternion.Euler, Quaternion.LookRotation, Quaternion.Slerp 등).
  • 쿼터니언은 일반적으로 "정규화(normalized)"되어야 하는데, Unity에서는 이를 자동으로 처리합니다. 하지만 직접 계산을 할 때는 정규화에 주의해야 합니다.

 

아크탄젠트

더보기
  • 아크탄젠트 함수는 삼각함수의 역함수입니다. 특정 비율에 대한 각도를 계산하는 데 사용됩니다.
  • 2차원 공간에서 점 또는 벡터에 대한 각도를 찾는 데 아크탄젠트 함수가 종종 사용됩니다.
  • 예를 들어, 벡터 (x, y)의 경우, Math.Atan2(y, x) 함수를 사용하여 벡터가 x축과 이루는 각도를 라디안으로 얻을 수 있습니다.
  • 아크탄젠트 함수는 사인(sine)과 코사인(cosine) 함수를 이용하여 직각 삼각형에서 빗변의 각도를 계산하는 데 사용될 수 있습니다.
  • 이 기능은 게임 개발에서 많이 사용되며, 특히 객체가 특정 방향을 향하도록 만들거나 두 점 사이의 각도를 계산할 때 유용합니다.

 

이런 수학적인 기능들을 마주하게 되면 너무 머리가 아프다...

 

유니티에서 대각선으로 움직이려고 하면 더 수직이나 수평으로 이동하는것보다 더 빠르게 움직여지는데

 

이게 왜 더 빠르게 움직이는지 이해하는것도 오래걸렸는데

 

그래도 정리해두고 두고두고보면서 이해하려고 노력하면 괜찮겠지

 

1월 22일 TIL은 여기서 마치도록 하겠다.

'내일배움캠프' 카테고리의 다른 글

240124-TIL  (0) 2024.01.24
240123-TIL  (0) 2024.01.23
240118-TIL  (0) 2024.01.18
240116-TIL  (0) 2024.01.16
240115-TIL  (0) 2024.01.15