Files
XRLib/Assets/Scripts/UVC/util/MathUtil.cs
2025-06-04 23:10:11 +09:00

35 lines
1.3 KiB
C#

using Unity.Mathematics;
using UnityEngine;
namespace UVC.Util
{
/// <summary>
/// 수학 관련 유틸리티 메소드를 제공하는 클래스입니다.
/// </summary>
public static class MathUtil
{
/// <summary>
/// 중심점(`center`)을 기준으로 반지름(`radius`) 거리에서 각도(`angle`)에 해당하는 위치를 계산합니다.
/// </summary>
/// <param name="center">회전의 중심점</param>
/// <param name="radius">회전 반지름</param>
/// <param name="angle">회전 각도 (0~360도)</param>
/// <returns>계산된 위치를 나타내는 `Vector3`</returns>
/// <example>
/// 다음은 `GetCircleLocationXY` 메소드를 사용하는 예제입니다:
/// <code>
/// Vector3 center = new Vector3(0, 0, 0);
/// float radius = 5f;
/// float angle = 90f;
/// Vector3 position = MathUtil.GetCircleLocationXY(center, radius, angle);
/// Debug.Log(position); // 출력: (0.0, 5.0, 0.0)
/// </code>
/// </example>
public static Vector3 GetCircleLocationXY(Vector3 center, float radius, float angle)
{
Vector3 pos = new Vector3(math.cos(angle * Mathf.Deg2Rad) * radius, math.sin(angle * Mathf.Deg2Rad) * radius, 0);
return pos + center;
}
}
}