import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const c=JSON.parse('{"title":"mbcp.mp_math.angle","description":"","frontmatter":{"title":"mbcp.mp_math.angle","editLink":false},"headers":[],"relativePath":"ja/api/mp_math/angle.md","filePath":"ja/api/mp_math/angle.md","lastUpdated":1724915255000}'),t={name:"ja/api/mp_math/angle.md"},e=n(`

mbcp.mp_math.angle

説明: 本模块定义了角度相关的类

class Angle

class AnyAngle(Angle)

def __init__(self, value: float, is_radian: bool = False)

説明: 任意角度。

引数:

ソースコード または GitHubで表示
python
def __init__(self, value: float, is_radian: bool=False):
    """
        任意角度。
        Args:
            value: 角度或弧度值
            is_radian: 是否为弧度,默认为否
        """
    if is_radian:
        self.radian = value
    else:
        self.radian = value * PI / 180

@property

def complementary(self) -> AnyAngle

説明: 余角:两角的和为90°。

戻り値: 余角

ソースコード または GitHubで表示
python
@property
def complementary(self) -> 'AnyAngle':
    """
        余角:两角的和为90°。
        Returns:
            余角
        """
    return AnyAngle(PI / 2 - self.minimum_positive.radian, is_radian=True)

@property

def supplementary(self) -> AnyAngle

説明: 补角:两角的和为180°。

戻り値: 补角

ソースコード または GitHubで表示
python
@property
def supplementary(self) -> 'AnyAngle':
    """
        补角:两角的和为180°。
        Returns:
            补角
        """
    return AnyAngle(PI - self.minimum_positive.radian, is_radian=True)

@property

def degree(self) -> float

説明: 角度。

戻り値: 弧度

ソースコード または GitHubで表示
python
@property
def degree(self) -> float:
    """
        角度。
        Returns:
            弧度
        """
    return self.radian * 180 / PI

@property

def minimum_positive(self) -> AnyAngle

説明: 最小正角。

戻り値: 最小正角度

ソースコード または GitHubで表示
python
@property
def minimum_positive(self) -> 'AnyAngle':
    """
        最小正角。
        Returns:
            最小正角度
        """
    return AnyAngle(self.radian % (2 * PI))

@property

def maximum_negative(self) -> AnyAngle

説明: 最大负角。

戻り値: 最大负角度

ソースコード または GitHubで表示
python
@property
def maximum_negative(self) -> 'AnyAngle':
    """
        最大负角。
        Returns:
            最大负角度
        """
    return AnyAngle(-self.radian % (2 * PI), is_radian=True)

@property

def sin(self) -> float

説明: 正弦值。

戻り値: 正弦值

ソースコード または GitHubで表示
python
@property
def sin(self) -> float:
    """
        正弦值。
        Returns:
            正弦值
        """
    return math.sin(self.radian)

@property

def cos(self) -> float

説明: 余弦值。

戻り値: 余弦值

ソースコード または GitHubで表示
python
@property
def cos(self) -> float:
    """
        余弦值。
        Returns:
            余弦值
        """
    return math.cos(self.radian)

@property

def tan(self) -> float

説明: 正切值。

戻り値: 正切值

ソースコード または GitHubで表示
python
@property
def tan(self) -> float:
    """
        正切值。
        Returns:
            正切值
        """
    return math.tan(self.radian)

@property

def cot(self) -> float

説明: 余切值。

戻り値: 余切值

ソースコード または GitHubで表示
python
@property
def cot(self) -> float:
    """
        余切值。
        Returns:
            余切值
        """
    return 1 / math.tan(self.radian)

@property

def sec(self) -> float

説明: 正割值。

戻り値: 正割值

ソースコード または GitHubで表示
python
@property
def sec(self) -> float:
    """
        正割值。
        Returns:
            正割值
        """
    return 1 / math.cos(self.radian)

@property

def csc(self) -> float

説明: 余割值。

戻り値: 余割值

ソースコード または GitHubで表示
python
@property
def csc(self) -> float:
    """
        余割值。
        Returns:
            余割值
        """
    return 1 / math.sin(self.radian)

def self + other: AnyAngle => AnyAngle

ソースコード または GitHubで表示
python
def __add__(self, other: 'AnyAngle') -> 'AnyAngle':
    return AnyAngle(self.radian + other.radian, is_radian=True)

def __eq__(self, other)

ソースコード または GitHubで表示
python
def __eq__(self, other):
    return approx(self.radian, other.radian)

def self - other: AnyAngle => AnyAngle

ソースコード または GitHubで表示
python
def __sub__(self, other: 'AnyAngle') -> 'AnyAngle':
    return AnyAngle(self.radian - other.radian, is_radian=True)

def self * other: float => AnyAngle

ソースコード または GitHubで表示
python
def __mul__(self, other: float) -> 'AnyAngle':
    return AnyAngle(self.radian * other, is_radian=True)

@overload

def self / other: float => AnyAngle

ソースコード または GitHubで表示
python
@overload
def __truediv__(self, other: float) -> 'AnyAngle':
    ...

@overload

def self / other: AnyAngle => float

ソースコード または GitHubで表示
python
@overload
def __truediv__(self, other: 'AnyAngle') -> float:
    ...

def self / other

ソースコード または GitHubで表示
python
def __truediv__(self, other):
    if isinstance(other, AnyAngle):
        return self.radian / other.radian
    return AnyAngle(self.radian / other, is_radian=True)
`,80),l=[e];function h(p,k,r,d,g,o){return a(),i("div",null,l)}const F=s(t,[["render",h]]);export{c as __pageData,F as default};