¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

9.10. �����ؿ��ȱ黻��

point��box��lseg��line��path��polygon�������circle�����ǡ������ˤϡ�PostgreSQL���������ݡ��Ȥ��Ƥ���ؿ��ȱ黻�Ҥ�˭�٤�·�äƤ��ޤ��� (ɽ9-28��ɽ9-29�������ɽ9-30�򻲾Ȥ��Ƥ���������)

ɽ 9-28. �����ǡ����黻��

�黻��������
+ ʿ�԰�ưbox '((0,0),(1,1))' + point '(2.0,0)'
- ʿ�԰�ưbox '((0,0),(1,1))' - point '(2.0,0)'
* ����̾�/��žbox '((0,0),(1,1))' * point '(2.0,0)'
/ ����̾�/��žbox '((0,0),(2,2))' / point '(2.0,0)'
# �������򺹶��'((1,-1),(-1,1))' # '((1,1),(-1,-1))'
# ��ϩ�⤷����¿�ѷ������ο�# '((1,0),(0,1),(-1,0))'
@-@ Ĺ���⤷���ϱ߼�@-@ path '((0,0),(1,0))'
@@ �濴@@ circle '((0,0),10)'
## ���黻���ܤ�����黻���ܤȤζ�����point '(0,0)' ## lseg '((2,0),(0,2))'
<-> ��Υcircle '((0,0),1)' <-> circle '((5,0),1)'
&& �Ťʤ뤫�ɤ���?box '((0,0),(1,1))' && box '((0,0),(2,2))'
&< ��¦�ˤϤߤ����ʤ���?box '((0,0),(1,1))' &< box '((0,0),(2,2))'
&> ��¦�ˤϤߤ����ʤ���?box '((0,0),(3,3))' &> box '((0,0),(2,2))'
<< ��¦�ˤ��뤫?circle '((0,0),1)' << circle '((5,0),1)'
>> ��¦�ˤ��뤫?circle '((5,0),1)' >> circle '((0,0),1)'
<^ ���ˤ��뤫?circle '((0,0),1)' <^ circle '((0,5),1)'
>^ ��ˤ��뤫?circle '((0,5),1)' >^ circle '((0,0),1)'
?# ���뤫?lseg '((-1,0),(1,0))' ?# box '((-2,-2),(2,2))'
?- ��ʿ��??- lseg '((-1,0),(1,0))'
?- ��ʿ������·�äƤ��뤫?point '(1,0)' ?- point '(0,0)'
?| ��ľ��??| lseg '((-1,0),(1,0))'
?| ��ľ������·�äƤ��뤫?point '(0,1)' ?| point '(0,0)'
?-| ľ�Ѥ�ʤ���?lseg '((0,0),(0,1))' ?-| lseg '((0,0),(1,0))'
?|| ʿ�Ԥ�?lseg '((-1,0),(1,0))' ?|| lseg '((-1,2),(1,2))'
~ �ޤफ?circle '((0,0),2)' ~ point '(1,1)'
@ �ޤफ�������夫?point '(1,1)' @ circle '((0,0),2)'
~= Ʊ�줫?polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))'

ɽ 9-29. �����ǡ����ؿ�

�ؿ������������
area(object)double precision����area(box '((0,0),(1,1))')
box_intersect(box, box)box����θ�box_intersect(box '((0,0),(1,1))',box '((0.5,0.5),(2,2))')
center(object)point�濴center(box '((0,0),(1,2))')
diameter(circle)double precision�ߤ�ľ��diameter(circle '((0,0),2.0)')
height(box)double precision����ι⤵height(box '((0,0),(1,1))')
isclosed(path)boolean�ķ�ϩ��?isclosed(path '((0,0),(1,1),(2,0))')
isopen(path)boolean����ϩ��?isopen(path '[(0,0),(1,1),(2,0)]')
length(object)double precision��length(path '((-1,0),(1,0))')
npoints(path)integer���ο�npoints(path '[(0,0),(1,1),(2,0)]')
npoints(polygon)integer���ο�npoints(polygon '((1,1),(0,0))')
pclose(path)path�ķ�ϩ���Ѵ�pclose(path '[(0,0),(1,1),(2,0)]')
popen(path)path����ϩ���Ѵ�popen(path '((0,0),(1,1),(2,0))')
radius(circle)double precision�ߤ�Ⱦ��radius(circle '((0,0),2.0)')
width(box)double precision�������width(box '((0,0),(1,1))')

ɽ 9-30. �������Ѵ��ؿ�

�ؿ������������
box(circle)box�ߤ�����box(circle '((0,0),2.0)')
box(point, point)box��ɸ���������Ѵ�box(point '(0,0)', point '(1,1)')
box(polygon)box¿�ѷ��������Ѵ�box(polygon '((0,0),(1,1),(2,0))')
circle(box)circle�����ߤ��Ѵ�circle(box '((0,0),(1,1))')
circle(point, double precision)circle�濴����Ⱦ�¤���ߤ��Ѵ�circle(point '(0,0)', 2.0)
lseg(box)lseg������г�������ʬ���Ѵ�lseg(box '((-1,0),(1,0))')
lseg(point, point)lseg��ɸ������ʬ���Ѵ�lseg(point '(-1,0)', point '(1,0)')
path(polygon)point¿�ѷ����ϩ���Ѵ�path(polygon '((0,0),(1,1),(2,0))')
point(double precision, double precision)point��ɸ��������point(23.4, -44.5)
point(box)point������濴point(box '((-1,0),(1,0))')
point(circle)point�ߤ��濴point(circle '((0,0),2.0)')
point(lseg)point��ʬ���濴point(lseg '((-1,0),(1,0))')
point(lseg, lseg)point��point(lseg '((-1,0),(1,0))', lseg '((-2,-2),(2,2))')
point(polygon)point¿�ѷ����濴point(polygon '((0,0),(1,1),(2,0))')
polygon(box)polygon�������4����¿�ѷ�polygon(box '((0,0),(1,1))')
polygon(circle)polygon�ߤ���12�ѷ�polygon(circle '((0,0),2.0)')
polygon(npts, circle)polygon�ߤ���npts�ѷ�polygon(12, circle '((0,0),2.0)')
polygon(path)polygon��ϩ����¿�ѷ�polygon(path '((0,0),(1,1),(2,0))')

point��2�Ĥι������Ǥϡ�ź��0��1��ͭ��������˥�����������Τ�Ʊ���褦�ˡ������������뤳�Ȥ��Ǥ��ޤ��� �㤨�С�t.p��point��ξ�硢SELECT p[0] FROM t �Ȥ�������X��ɸ������ФǤ��ޤ��� �ޤ���UPDATE t SET p[1] = ...��Y��ɸ�����ѹ��Ǥ��ޤ��� Ʊ�ͤˡ�box�ޤ���lseg�Ǥ⡢2�Ĥ�point����ʤ�����Τ褦�˰������Ȥ���ǽ�Ǥ���

area�ؿ��ϡ�box��circle��path�����Ф���ư��ޤ��� path�ǡ��������Ф���area�ؿ��ϡ�����path���򺵤��ʤ����ˤΤ�ư��ޤ��� �㤨�С�'((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0))'::PATH�Ȥ���path��ư��ޤ��� �������������ܤ�Ʊ���Ǥ�����'((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0))'::PATH�Ȥ���path�Ǥ�ư��ޤ��� path�θ򺵤��롢���ʤ��Ȥ�����ǰ���褯�狼��ʤ���С����2�Ĥ�path���¤٤ƥ�����ѻ�˽񤤤ƤߤƤ���������