Quad¶
평면상의 사각형(또는 “사변형” 또는 “사각형”이라고도 함)을 나타내며, ul, ur, ll, lr(편의상 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래라고 함)의 4개의 Point 객체 시퀀스로 정의됩니다.
Quad는 텍스트 검색 메서드(Page.search_for())의 결과로 얻을 수 있으며, 텍스트 마커 주석을 정의하는 데 사용됩니다 (예: Page.add_squiggly_annot() 및 관련 메서드 참조). 또한 여러 그리기 메서드(예: Page.draw_quad() / Shape.draw_quad(), Page.draw_oval() / Shape.draw_quad())에서 사용됩니다.
참고
사각형의 모서리가 회전, 확대/축소 또는 이동 Matrix 로 변환되면 결과 quad는 직사각형 (= 사각형과 합동)입니다. 즉, 모든 모서리가 다시 90도 각도를 이룹니다. 속성
Quad.is_rectangular는 quad가 이러한 작업의 결과로 간주될 수 있는지 확인합니다.이것은 모든 행렬에 대해 참이 아닙니다: 예를 들어, 기울이기 행렬은 평행사변형을 생성하고, 역행렬이 없는 행렬은 삼각형이나 선과 같은 “퇴화된” 사각형을 제공합니다.
속성
Quad.rect는 둘러싸는 사각형을 얻습니다. 반대로, 사각형은 이제 속성Rect.quad, 각각IRect.quad를 가지고 있어 각각의 사각형 버전을 얻을 수 있습니다.
메서드 / 속성 |
간단한 설명 |
|---|---|
행렬로 변환 |
|
점과 행렬로 변환 |
|
왼쪽 위 점 |
|
오른쪽 위 점 |
|
왼쪽 아래 점 |
|
오른쪽 아래 점 |
|
quad가 볼록 집합이면 true |
|
quad가 빈 집합이면 true |
|
quad가 사각형과 합동이면 true |
|
포함하는 가장 작은 Rect |
|
가장 긴 너비 값 |
|
가장 긴 높이 값 |
클래스 API
- class Quad¶
- __init__(self)¶
- __init__(self, ul, ur, ll, lr)¶
- __init__(self, quad)¶
- __init__(self, sequence)¶
오버로드된 생성자: “ul”, “ur”, “ll”, “lr”는
point_like객체(4개의 모서리)를 나타내며, “sequence”는 4개의point_like객체를 가진 Python 시퀀스입니다.“quad”가 지정되면 생성자는 그것의 새 복사본 을 만듭니다.
매개변수 없이 Point(0, 0) 의 4개 복사본으로 구성된 quad가 생성됩니다.
- transform(matrix)¶
각 모서리를 행렬로 변환하여 사각형을 수정합니다.
- 매개변수:
matrix (matrix_like) – 행렬.
- morph(fixpoint, matrix)¶
(버전 1.17.0에서 새로 추가됨) 고정점으로 점과 유사한 것을 사용하여 행렬과 유사한 것으로 quad를 “변형”합니다.
- 매개변수:
fixpoint (point_like) – 점.
matrix (matrix_like) – 행렬.
- 반환:
새 quad(이것이 무한 quad인 경우 작업 없음).
- is_convex¶
버전 1.16.1에서 새로 추가됨
quad의 임의의 두 점에 대해, 연결선 위의 모든 점도 quad에 속하는지 확인합니다.
- 유형:
bool
- is_empty¶
둘러싸인 영역이 0이면 True입니다. 이는 4개의 모서리 중 최소 3개가 같은 선상에 있음을 의미합니다. 이것이 false이면 quad는 여전히 퇴화되었거나 사각형처럼 보이지 않을 수 있습니다(삼각형, 평행사변형, 사다리꼴 등).
- 유형:
bool
- is_rectangular¶
모든 모서리 각도가 90도이면 True입니다. 이것은 quad가 볼록하고 비어 있지 않음 을 의미합니다.
- 유형:
bool
- width¶
위쪽과 아래쪽 변의 최대 길이.
- 유형:
float
- height¶
왼쪽과 오른쪽 변의 최대 길이.
- 유형:
float
참고¶
이 클래스는 시퀀스 프로토콜을 따르므로 구성 요소는 인덱스를 통해 처리할 수도 있습니다. 에서 Python 시퀀스를 인수로 사용하기 도 참조하세요.
대수 및 포함 확인¶
v1.19.6부터 quad는 다른 기하 객체처럼 대수 표현식에서 사용할 수 있습니다 – 해당 제한이 해제되었습니다. 특히, 다음 포함 확인 조합이 모두 가능합니다:
{Point | IRect | Rect | Quad} in {IRect | Rect | Quad}
다음 흥미로운 세부 사항을 참고하세요:
사각형의 경우, 왼쪽 위 점만 속합니다. v1.19.0부터 사각형은 “열림”으로 정의되어 아래쪽과 오른쪽 가장자리는 속하지 않습니다 – 해당 모서리 포함. 하지만 quad에는 “열림”과 같은 개념이 없으므로 다음과 같은 다소 놀라운 함의가 있습니다:
>>> rect.br in rect
False
>>> # but:
>>> rect.br in rect.quad
True
