AngleConstants.cs 3.12 KB
namespace Rcs.Domain.ValueObjects;

/// <summary>
/// 角度常量与工具方法 - 使用弧度(以 π 为单位)表示角度
/// </summary>
public static class AngleConstants
{
    /// <summary>
    /// 0 度(0 弧度)
    /// </summary>
    public const double Zero = 0.0;

    /// <summary>
    /// 15 度(π/12 弧度)- VDA5050 默认角度偏移
    /// </summary>
    public const double Degrees15 = Math.PI / 12;
    /// <summary>
    /// 允许的最大角度偏差(弧度)
    /// </summary>
    public const double AllowedDeviationTheta = Math.PI / 12;

    /// <summary>
    /// 取放货点位偏差弧度
    /// </summary>
    public const double EndDeviationTheta = Math.PI / 36;

    /// <summary>
    /// 30 度(π/6 弧度)
    /// </summary>
    public const double Degrees30 = Math.PI / 6;

    /// <summary>
    /// 45 度(π/4 弧度)
    /// </summary>
    public const double Degrees45 = Math.PI / 4;

    /// <summary>
    /// 60 度(π/3 弧度)
    /// </summary>
    public const double Degrees60 = Math.PI / 3;

    /// <summary>
    /// 90 度(π/2 弧度)
    /// </summary>
    public const double Degrees90 = Math.PI / 2;

    /// <summary>
    /// 120 度(2π/3 弧度)
    /// </summary>
    public const double Degrees120 = 2 * Math.PI / 3;

    /// <summary>
    /// 135 度(3π/4 弧度)
    /// </summary>
    public const double Degrees135 = 3 * Math.PI / 4;

    /// <summary>
    /// 150 度(5π/6 弧度)
    /// </summary>
    public const double Degrees150 = 5 * Math.PI / 6;

    /// <summary>
    /// 180 度(π 弧度)
    /// </summary>
    public const double Degrees180 = Math.PI;

    /// <summary>
    /// 360 度(2π 弧度)
    /// </summary>
    public const double Degrees360 = 2 * Math.PI;

    /// <summary>
    /// 整圆(2π 弧度)
    /// </summary>
    public const double FullCircle = 2 * Math.PI;

    /// <summary>
    /// 15 度(π/12 弧度)的常量(可用于组合负角)
    /// </summary>
    public const double MDegrees15 = Math.PI / 12;

    /// <summary>
    /// 30 度(π/6 弧度)的常量(可用于组合负角)
    /// </summary>
    public const double MDegrees30 = Math.PI / 6;

    /// <summary>
    /// 45 度(π/4 弧度)的常量(可用于组合负角)
    /// </summary>
    public const double MDegrees45 = Math.PI / 4;

    /// <summary>
    /// 60 度(π/3 弧度)的常量(可用于组合负角)
    /// </summary>
    public const double MDegrees60 = Math.PI / 3;

    /// <summary>
    /// 90 度(π/2 弧度)的常量(可用于组合负角)
    /// </summary>
    public const double MDegrees90 = Math.PI / 2;

    /// <summary>
    /// 120 度(2π/3 弧度)的常量(可用于组合负角)
    /// </summary>
    public const double MDegrees120 = 2 * Math.PI / 3;

    /// <summary>
    /// 135 度(3π/4 弧度)的常量(可用于组合负角)
    /// </summary>
    public const double MDegrees135 = 3 * Math.PI / 4;

    /// <summary>
    /// 150 度(5π/6 弧度)的常量(可用于组合负角)
    /// </summary>
    public const double MDegrees150 = 5 * Math.PI / 6;
}