¾¤Î¥Ð¡¼¥¸¥ç¥ó¤Îʸ½ñ ¡§ 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

8.7. ´ö²¿¥Ç¡¼¥¿·¿

´ö²¿¥Ç¡¼¥¿·¿¤Ï2¼¡¸µ¶õ´Ö¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤·¤Þ¤¹¡£ ɽ8-16¤Ï¡¢PostgreSQL¤Ç»ÈÍѲÄǽ¤Ê´ö²¿¥Ç¡¼¥¿·¿¤òÎóµó¤·¤¿¤â¤Î¤Ç¤¹¡£ ¤â¤Ã¤È¤â´ðËܤȤʤ뷿¤Ïpoint¤Ç¡¢Á´¤Æ¤Î¾¤Î·¿¤Î´ðÁäò·ÁÀ®¤·¤Þ¤¹¡£

ɽ 8-16. ´ö²¿¥Ç¡¼¥¿·¿

·¿Ì¾³ÊǼ¥µ¥¤¥ºÉ½¸½ÀâÌÀ
point16¥Ð¥¤¥ÈÊ¿Ì̤ˤª¤±¤ëºÂɸÅÀ(x,y)
line32¥Ð¥¤¥È̵¸Â¤ÎľÀþ (´°Á´¤Ë¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó)((x1,y1),(x2,y2))
lseg32¥Ð¥¤¥ÈÍ­¸Â¤ÎÀþʬ((x1,y1),(x2,y2))
box32¥Ð¥¤¥È¶ë·Á((x1,y1),(x2,y2))
path16+16n¥Ð¥¤¥ÈÊÄ·ÐÏ©¡Ê¿³Ñ·Á¤ËÎà»÷¡Ë((x1,y1),...)
path16+16n¥Ð¥¤¥È³«·ÐÏ©[(x1,y1),...]
polygon40+16n¥Ð¥¤¥È¿³Ñ·Á¡ÊÊÄ·ÐÏ©¤ËÎà»÷¡Ë((x1,y1),...)
circle24¥Ð¥¤¥È±ß<(x,y),r>(Ãæ¿´¤ÈȾ·Â)

³ÈÂç½Ì¾®¡¢ÊÑ·Á¡¢²óž¡¢¸òÅÀ¤Î»»½Ð¤È¤¤¤Ã¤¿ÍÍ¡¹¤Ê´ö²¿³ØÅªÁàºî¤ò¹Ô¤¦´Ø¿ô¤È±é»»»Ò¤Î½¸¹ç¤¬Ë­É٤˷¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¤³¤È¤Ë¤Ä¤¤¤Æ¤Ï¹à9.10¤ËÀâÌÀ¤¬¤¢¤ê¤Þ¤¹¡£

8.7.1. ºÂɸÅÀ

ºÂɸÅÀ¤Ï´ö²¿¥Ç¡¼¥¿·¿¤Î´ðÁäȤʤë2¼¡¸µ¹½À®Í×ÁǤǤ¹¡£ point·¿¤ÎÃͤϼ¡¤Î¹½Ê¸¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£

( x , y )
  x , y

¤³¤³¤Çx¤Èy¤Ï¡¢¤½¤ì¤¾¤ì¤ÎºÂɸ¤òÉâÆ°¾®¿ôÅÀ¿ô¿ôÃͤÇɽ¤·¤¿¤â¤Î¤Ç¤¹¡£

8.7.2. Àþʬ

Àþʬ¡Êlseg¡Ë¤ÏºÂɸÅÀ¤ÎÁȹ礻¤Çɽ¸½¤µ¤ì¤Þ¤¹¡£ lseg·¿¤ÎÃͤϼ¡¤Î¹½Ê¸¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£

( ( x1 , y1 ) , ( x2 , y2 ) )
  ( x1 , y1 ) , ( x2 , y2 )  
    x1 , y1   ,   x2 , y2

¤³¤³¤Ç¡¢(x1,y1)¤È(x2,y2)¤ÏÀþʬ¤Î½ªÃ¼ÅÀ¤Ç¤¹¡£

8.7.3. ¶ë·Á

¶ë·Á¤Ï¡¢¶ë·Á¤ÎÂгÑÀþ¤Îξü¤ÎºÂɸÅÀ¤ÎÁȤ߹ç¤ï¤»¤Çɽ¤µ¤ì¤Þ¤¹¡£ box·¿¤ÎÃͤϰʲ¼¤Î¹½Ê¸¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£

( ( x1 , y1 ) , ( x2 , y2 ) )
  ( x1 , y1 ) , ( x2 , y2 )  
    x1 , y1   ,   x2 , y2

¤³¤³¤Ç(x1,y1)¤È(x2,y2)¤Ï¶ë·Á¤ÎÂгÑÀþ¤Îξü¤Ç¤¹¡£

¶ë·Á¤ÏºÇ½é¤Ë¼¨¤·¤¿¹½Ê¸¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£ ĺÅÀ¤Ï¡¢±¦¾å¤ÎĺÅÀ¤òºÇ½é¤Ë¡¢º¸²¼¤ÎĺÅÀ¤ò¤½¤Î¸å¤Ë³ÊǼ¤¹¤ë¤è¤¦ÆþÎÏ»þ¤Ëʤ٤é¤ì¤Þ¤¹¡£ ¶ë·Á¤Î¾¤ÎĺÅÀ¤òÆþÎϤ·¤Æ¤â¹½¤¤¤Þ¤»¤ó¤¬¡¢ÆþÎϤκ¸²¼¤È±¦¾å¤ÎĺÅÀ¤«¤é¶ë·Á¤¬·èÄꤵ¤ì¡¢¤½¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£

8.7.4. ·ÐÏ©

·ÐÏ©¤ÏÀܳ¤·¤Æ¤¤¤ëºÂɸÅÀ¤Î¥ê¥¹¥È¤Çɽ¸½¤µ¤ì¤Þ¤¹¡£ ·ÐÏ©¤ÏºÇ½é¤ÎºÂɸÅÀ¤ÈºÇ¸å¤ÎºÂɸÅÀ¤¬Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤ß¤Ê¤µ¤ì¤ë³«¤¤¤Æ¤¤¤ë¾õÂÖ¤«¡¢ºÇ½é¤ÎºÂɸÅÀ¤ÈºÇ¸å¤ÎºÂɸÅÀ¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤µ¤ì¤ëÊĤ¸¤¿¾õÂÖ¤«¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£

path·¿¤ÎÃͤϼ¡¤Î¹½Ê¸¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£

( ( x1 , y1 ) , ... , ( xn , yn ) )
[ ( x1 , y1 ) , ... , ( xn , yn ) ]
  ( x1 , y1 ) , ... , ( xn , yn )  
  ( x1 , y1   , ... ,   xn , yn )  
    x1 , y1   , ... ,   xn , yn    

¤³¤³¤Ç¡¢³ÆºÂɸÅÀ¤Ï¡¢·ÐÏ©¤ò¹½À®¤¹¤ëÀþʬ¤Î½ªÃ¼ÅÀ¤Ç¤¹¡£ Âç³ç¸Ì([])¤Ï³«·ÐÏ©¤ò¡¢³ç¸Ì(())¤ÏÊÄ·ÐÏ©¤ò¼¨¤·¤Þ¤¹¡£

·ÐÏ©¤ÏºÇ½é¤Î¹½Ê¸¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£

8.7.5. ¿³Ñ·Á

¿³Ñ·Á¤ÏºÂɸÅÀ(¿³Ñ·Á¤ÎĺÅÀ)¤Î¥ê¥¹¥È¤Çɽ¸½¤µ¤ì¤Þ¤¹¡£ ¿³Ñ·Á¤Ï¤¿¤Ö¤óÊÄ·ÐÏ©¤ÈƱ¤¸¤È¹Í¤¨¤é¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢°Û¤Ê¤Ã¤¿Êý¼°¤Ç³ÊǼ¤µ¤ì¤ë¤ÈƱ»þ¤Ë¤½¤ì¤¾¤ìÆÈ¼«¤Ë»Ù±ç¤¹¤ë¥ë¡¼¥Á¥ó°ì¼°¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£

polygon·¿¤ÎÃͤϼ¡¤Î¹½Ê¸¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£

( ( x1 , y1 ) , ... , ( xn , yn ) )
  ( x1 , y1 ) , ... , ( xn , yn )  
  ( x1 , y1   , ... ,   xn , yn )  
    x1 , y1   , ... ,   xn , yn    

³ÆºÂɸÅÀ¤Ï¿³Ñ·Á¤Î¶­³¦¤ò¹½À®¤¹¤ëÀþʬ¤Î½ªÃ¼ÅÀ¤Ç¤¹¡£

¿³Ñ·Á¤ÏºÇ½é¤Î¹½Ê¸¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£

8.7.6. ±ß

±ß¤ÏÃæ¿´ºÂɸÅÀ¤ÈȾ·Â¤Çɽ¸½¤µ¤ì¤Þ¤¹¡£ circle·¿¤ÎÃͤϼ¡¤Î¹½Ê¸¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£

< ( x , y ) , r >
( ( x , y ) , r )
  ( x , y ) , r  
    x , y   , r  

¤³¤³¤Ç(x,y)¤Ï±ß¤ÎÃæ¿´ÅÀ¡¢r¤Ï±ß¤ÎȾ·Â¤Ç¤¹¡£

±ß¤ÏºÇ½é¤Î¹½Ê¸¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£