토토 베이 유형점, 상자, lseg, 라인, 경로, 다각형및원가지고 다음과 같은 대규모 기본 지원 함수 및 연산자 집합테이블 9-28, 테이블 9-29및테이블 9-30.
| 주의 |
|
참고하세요"같은"토토 베이,~=은 다음을 나타냅니다. 에 대한 일반적인 평등 개념포인트, 상자, 다각형및원유형. 이러한 유형 중 일부에는=토토 베이이지만=동일한 비교지역전용. 다른 스칼라 비교 토토 베이(<=등등) 마찬가지로 면적을 비교합니다. 이러한 유형의 경우. |
표 9-28. 토토 베이 연산자
| 운영자 | 설명 | 예 |
|---|---|---|
| + | 번역 | 상자 '((0,0),(1,1))' + 점 '(2.0,0)' |
| - | 번역 | 상자 '((0,0),(1,1))' - 점 '(2.0,0)' |
| * | 크기 조정/회전 | 상자 '((0,0),(1,1))' * 포인트 '(2.0,0)' |
| / | 크기 조정/회전 | 상자 '((0,0),(2,2))' / 포인트 '(2.0,0)' |
| # | 교점 또는 교차점 | '((1,-1),(-1,1))' # '((1,1),(-1,-1))' |
| # | 경로 또는 다각형의 점 수 | # '((1,0),(0,1),(-1,0))' |
| @-@ | 길이 또는 둘레 | @-@ 경로 '((0,0),(1,0))' |
| @@ | 센터 | @@ 원 '((0,0),10)' |
| ## | 두 번째 피토토 베이의 첫 번째 피토토 베이와 가장 가까운 지점 | 포인트 '(0,0)' ## lseg '((2,0),(0,2))' |
| <- | 사이의 거리 | 서클 '((0,0),1)' <- 원 '((5,0),1)' |
| && | 겹침? | 상자 '((0,0),(1,1))' && 상자 '((0,0),(2,2))' |
| << | 완전히 다음 중 하나입니까? | 원 '((0,0),1)' << 원 '((5,0),1)' |
| 엄격히 옳은가요? | 원 '((5,0),1)' 원 '((0,0),1)' | |
| &< | 오른쪽으로 확장되지 않습니까? | 상자 '((0,0),(1,1))' &< 상자 '((0,0),(2,2))' |
| & | 왼쪽으로 확장되지 않습니까? | 박스 '((0,0),(3,3))' & 박스 '((0,0),(2,2))' |
| <<| | 엄격히 아래에 해당합니까? | 상자 '((0,0),(3,3))' <<| 상자 '((3,4),(5,5))' |
| | | 엄격히 위에 있습니까? | 상자 '((3,4),(5,5))' | 상자 '((0,0),(3,3))' |
| &<| | 위로 확장되지 않습니까? | 상자 '((0,0),(1,1))' &<| 상자 '((0,0),(2,2))' |
| |& | 아래로 확장되지 않습니까? | 상자 '((0,0),(3,3))' |& 상자 '((0,0),(2,2))' |
| <^ | 아래가 있습니까(터치 허용)? | 원 '((0,0),1)' <^ 원 '((0,5),1)' |
| ^ | 위(접촉 허용)입니까? | 원 '((0,5),1)' ^ 원 '((0,0),1)' |
| ?# | 교차합니까? | lseg '((-1,0),(1,0))' ?# 상자 '((-2,-2),(2,2))' |
| ?- | 가로형인가요? | ?- lseg '((-1,0),(1,0))' |
| ?- | 수평으로 정렬되어 있습니까? | 포인트 '(1,0)' ?- 포인트 '(0,0)' |
| ?| | 수직인가요? | ?| lseg '((-1,0),(1,0))' |
| ?| | 수직으로 정렬되어 있습니까? | 포인트 '(0,1)' ?| 포인트 '(0,0)' |
| ?-| | 수직인가요? | lseg '((0,0),(0,1))' ?-| lseg '((0,0),(1,0))' |
| ?|| | 병렬인가요? | lseg '((-1,0),(1,0))' ?|| lseg '((-1,2),(1,2))' |
| @ | 포함? | 원 '((0,0),2)' @ 점 '(1,1)' |
| <@ | 다음에 포함되어 있습니까? | 점 '(1,1)' <@ 원 '((0,0),2)' |
| ~= | 같은데요? | 다각형 '((0,0),(1,1))' ~= 다각형 '((1,1),(0,0))' |
참고:이전토토 베이8.2, 격리 연산자@그리고<@각각 호출되었습니다~그리고@. 이 이름들 여전히 사용 가능하지만 더 이상 사용되지 않으며 결국에는 사용 가능하게 됩니다. 은퇴해라.
표 9-29. 토토 베이 함수
| 기능 | 반환 유형 | 설명 | 예 |
|---|---|---|---|
지역(객체) |
배정밀도 | 지역 | 면적(상자 '((0,0),(1,1))') |
센터(객체) |
점 | 센터 | 중앙(상자 '((0,0),(1,2))') |
직경(원) |
배정밀도 | 원의 직경 | 직경(원 '((0,0),2.0)') |
높이(상자) |
배정밀도 | 상자의 수직 크기 | 높이(상자 '((0,0),(1,1))') |
공개됨(경로) |
부울 | 닫힌 길? | 닫힘(경로 '((0,0),(1,1),(2,0))') |
isopen(경로) |
부울 | 열린 길? | isopen(경로 '[(0,0),(1,1),(2,0)]') |
길이(객체) |
배정밀도 | 길이 | 길이(경로 '((-1,0),(1,0))') |
n포인트(경로) |
int | 포인트 수 | n포인트(경로 '[(0,0),(1,1),(2,0)]') |
n포인트(다각형) |
int | 포인트 수 | n포인트(다각형 '((1,1),(0,0))') |
pclose(경로) |
경로 | 경로를 닫힌 경로로 변환 | pclose(경로 '[(0,0),(1,1),(2,0)]') |
오픈(경로) |
경로 | 경로를 열기로 변환 | 팝업(경로 '((0,0),(1,1),(2,0))') |
반경(원) |
배정밀도 | 원의 반경 | 반경(원 '((0,0),2.0)') |
폭(상자) |
배정밀도 | 상자의 가로 크기 | 폭(상자 '((0,0),(1,1))') |
표 9-30. 토토 베이 유형 변환 기능
| 기능 | 반환 유형 | 설명 | 예 |
|---|---|---|---|
상자(원) |
상자 | 원에서 상자로 | 상자(원 '((0,0),2.0)') |
상자(점,
점) |
상자 | 상자를 가리킴 | box(포인트 '(0,0)', 포인트 '(1,1)') |
상자(다각형) |
상자 | 다각형을 상자로 | 상자(다각형 '((0,0),(1,1),(2,0))') |
원(상자) |
원 | 상자를 동그라미로 | 원(상자 '((0,0),(1,1))') |
원(점,
배정밀도) |
원 | 원의 중심과 반경 | 원(점 '(0,0)', 2.0) |
원(다각형) |
원 | 다각형을 원으로 | 원(다각형 '((0,0),(1,1),(2,0))') |
lseg(상자) |
lseg | 선분에 대각선으로 상자 | lseg(상자 '((-1,0),(1,0))') |
lseg(점,
점) |
lseg | 선분을 가리킴 | lseg(포인트 '(-1,0)', 포인트 '(1,0)') |
경로(다각형) |
점 | 경로에 대한 다각형 | 경로(다각형 '((0,0),(1,1),(2,0))') |
점(더블
정밀도, 더블
정밀도) |
포인트 | 구성 지점 | 점(23.4, -44.5) |
점(상자) |
점 | 상자 중앙 | 포인트(상자 '((-1,0),(1,0))') |
포인트(원) |
점 | 원의 중심 | 포인트(원 '((0,0),2.0)') |
점(lseg) |
점 | 선분의 중심 | 포인트(lseg '((-1,0),(1,0))') |
포인트(다각형) |
포인트 | 다각형의 중심 | 점(다각형 '((0,0),(1,1),(2,0))') |
다각형(상자) |
다각형 | 상자를 4점 다각형으로 | 다각형(상자 '((0,0),(1,1))') |
다각형(원) |
다각형 | 원을 12점 다각형으로 | 다각형(원 '((0,0),2.0)') |
다각형(npts, 원) |
다각형 | 동그라미로npts-포인트 다각형 | 다각형(12, 원 '((0,0),2.0)') |
다각형(경로) |
다각형 | 다각형 경로 | 다각형(경로 '((0,0),(1,1),(2,0))') |
a의 두 구성요소 번호에 접근하는 것이 가능합니다포인트마치 다음과 같은 배열인 것처럼 인덱스 0과 1. 예를 들어 다음과 같습니다.t.p이다 에점그럼 열t에서 p[0] 선택X 좌표를 검색하고업데이트 t SET p[1] = ...Y를 변경합니다 좌표. 같은 방식으로 유형의 값은상자또는lseg다음과 같이 처리될 수 있습니다. 두 개의 배열점값.
그지역함수는 다음에서 작동합니다.
유형상자, 원,
그리고경로.지역함수는 다음에서만 작동합니다.경로포인트가 있는 경우 데이터 유형경로교차하지 않습니다. 예를 들어,경로 '((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0))'::PATH작동하지 않습니다. 그러나 다음은 시각적으로 동일합니다.경로 '((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0))'::PATH작동합니다. 교차라는 개념이 있다면
교차하지 않음경로혼란스러워, 그려
위 둘 다경로에 나란히
그래프 용지 조각.