³§¤µ¤ó¡¢¤³¤ó¤Ë¤Á¤Ï¡£¥·¥¹¥Æ¥à¾¦Éʳ«È¯¥°¥ë¡¼¥×¤ÎÆþß·¤Ç¤¹¡£
½©¤¬¿¼¤Þ¤êīͼ¤¬Î䤨¹þ¤à»þ´ü¤Ë¤Ê¤Ã¤Æ¤¤Þ¤·¤¿¡£»ª¹¾¤Î¹ÈÍդϤ⤦¾¯¤·ÃÙ¤¯¤Ê¤ê¤½¤¦¤Ç¤¹¡£
¤µ¤Æ¡¢º£²ó¤Î¥Ö¥í¥°µ»ö¤Ç¤Ï¥×¥í¥°¥é¥Þ¡¼¤Î»Å»ö¤Î°ìü¤ò½ñ¤¤¤Æ¤ß¤è¤¦¤È»×¤¤¤Þ¤¹¡£¤È¸À¤Ã¤Æ¤â¥×¥í¥°¥é¥ß¥ó¥°¤ÎÏÃÂê¤Ç¤Ï¤Ê¤¯¹â¹»¿ô³Ø¡¢¤È¤¯¤Ë¡ÖľÀþ¡×¤Ë¾ÇÅÀ¤ò¤¢¤Æ¤Þ¤¹¡£¿ô³Ø¤Î´ðÁÃÃæ¤Î´ðÁäǤ¢¤ëľÀþ¡£¥°¥é¥Õ¥£¥¯¥¹¤Ë´Ø¤ï¤ë³«È¯¤Ç¤Ï¡Ê¥Ù¥¯¥¿·Á¼°¤Î¥Ñ¥¹¤ò°·¤¦¤È¤¤Ë¤Ï¾°¹¹¡Ë¼ê¤Τ褦¤Ë°·¤¨¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Íýͳ¤Ï´Êñ¤Ç¡¢¥°¥é¥Õ¥£¥¯¥¹¤Î´ðËܤ¬¡ÖÀþʬ¡×¤À¤«¤é¤Ç¤¹¡£Ê£»¨¤Ê¿Þ·Á¤âÆÍ¤µÍ¤á¤Æ¤·¤Þ¤¨¤ÐÀþʬ¤ÎϢ³¤Ç¤¢¤Ã¤ÆºÇ½ªÅª¤Ë¤ÏÀþʬ¤Î·×»»¤Ëµ¢Ã夷¤Þ¤¹¡£´ðËÜŪ¤Ë¡¢Àþʬ¤òľÀþ¤È¤ß¤Ê¤·¤Æ·×»»¤¹¤ë¾ìÌ̤¬¤Û¤È¤ó¤É¡£¥×¥í¥°¥é¥Þ¡¼¤ÏÈݤ¬±þ¤Ç¤â¡ÖľÀþ¡×¤È¸þ¤¹ç¤¦¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¤¹¡£
ľÀþ¤ò¥Ç¡¼¥¿¤Çɽ¤¹ÊýË¡¤Ï¤¤¤¯¤Ä¤â¤¢¤ê¡¢¥°¥é¥Õ¥£¥¯¥¹¤Ç¤ÏÀþʬ¤ò°·¤¦¤Î¤Ç»ÏÅÀ¤È½ªÅÀ¤¬Í¿¤¨¤é¤ì¤Æ¡¢É¬Á³Åª¤Ë°Û¤Ê¤ëÆóÅÀ¤òÄ̤ëľÀþ¤òµá¤á¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ÆóÅÀ¤ÎºÂɸ¤µ¤¨¤¢¤ì¤Ð°ì±þ¤Ï¤¹¤Ù¤Æ¤Î·×»»¤ò¤³¤Ê¤¹¤³¤È¤Ï²Äǽ¤Ê¤Î¤Ç¤¹¤¬¡¢Ä¾ÀþÊýÄø¼°¤Ê¤ª¤«¤Ä±¢´Ø¿ô·Á¼° a y + b x + c = 0 ¤Î·¸¿ô¤òÀè¤Ë·×»»¤·¤Æ¤ª¤¯¥á¥ê¥Ã¥È¤¬Â¿¤¯¤¢¤ê¤Þ¤¹¡Êº£²ó¤ÏÊ¿Ì̤òÂоݤˤ·¤Þ¤¹¡Ë¡£¤É¤Î¤è¤¦¤Ê¥á¥ê¥Ã¥È¤¬¤¢¤ë¤«¸å¤Ç½ñ¤¯¤³¤È¤Ë¤·¤Æ¡¢¤Þ¤º¤ÏÆóÅÀ¤ÎºÂɸ¤«¤éľÀþ¤Î·¸¿ô¤ò·×»»¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

ÆóÅÀ P = ( px , py ) ¤È Q = ( qx , qy ) ¤òÄ̤ëľÀþ L ¤Ï¡¢ÆóÅÀ¤ÎÀ®¤¹¥Ù¥¯¥È¥ë V = ( qx - px , qy - py ) ¤ÈľÀþ L ¾å¤ÎǤ°Õ¤ÎÅÀ ( x , y ) ¤Ë¤Ä¤¤¤Æ¡¢³°ÀѤÎÀ¼Á¡ÊÊ¿¹Ô¤ÊÆó¤Ä¤Î¥Ù¥¯¥È¥ë¤Î³°ÀѤ¬¥¼¥í¡Ë¤«¤é¼¡¤Î¾ò·ï¤òËþ¤¿¤¹¤â¤Î¤È¤·¤Æµá¤á¤é¤ì¤Þ¤¹¡£
( qx - px )( y - py ) - ( qy - py )( x - px ) = 0 .... Eq.1
¤³¤³¤«¤é·¸¿ô¤ò¤Þ¤È¤á¤ë¤È¼¡¤Î¤è¤¦¤Ê¿ô¼°¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
( qx - px ) y + ( py - qy ) x + ( px qy - qx py ) = 0 .... Eq.2
a = qx - px
b = py - qy
c = px qy - qx py
ľÀþ¤ò¤³¤Î¤è¤¦¤Ê·Á¼°¤Çɽ¤¹¥á¥ê¥Ã¥È¤Î°ì¤Ä¤ÏÅÀ¤ÈľÀþ¤Î·×»»¤Ë¤¢¤ê¤Þ¤¹¡£Eq.1 ¤Îº¸Êդϡ¢Ä¾Àþ L ¤òɽ¤¹¥Ù¥¯¥È¥ë V ¤È¡¢ÅÀ P ¤«¤éǤ°Õ¤ÎÅÀ ( x , y ) ¤Þ¤Ç¤Î¥Ù¥¯¥È¥ë U = ( x - px , y - py ) ¤È¤Î³°ÀѤǤ·¤¿¤«¤é¡¢¥Ù¥¯¥È¥ë V ¤ò´ð½à¤Ë¤·¤Æ¥Ù¥¯¥È¥ë U ¤Îľ¸òÀ®Ê¬¤òÉ乿ÉÕ¤¤Çµá¤á¤Æ¤¤¤ë¤È¤ß¤Ê¤»¤Þ¤¹¡£Eq.2 ¤Ï Eq.1 ¤Îº¸ÊÕ¤ò¤Þ¤È¤á¤¿¤À¤±¤Ê¤Î¤Ç¡¢f ( x , y ) = a y + b x + c ¤ËÄ´¤Ù¤¿¤¤ÅÀ R = ( xr , yr ) ¤ÎºÂɸ¤òÂåÆþ¤·¤Æ¥¼¥í¤ÈÈæ¤Ù¤ë¤À¤±¤Ç¡¢ÅÀ R ¤¬Ä¾Àþ L ¤Ç¶èÀÚ¤é¤ì¤¿º¸±¦¤É¤Á¤é¤ÎȾʿÌ̤ˤ¢¤ë¤«¡¢¤Þ¤¿¤ÏÀþ¾å¤Ë¤¢¤ë¤Î¤«¤òȽÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡Ê¢¨¤³¤ÎÀ¼Á¤Ï¡¢Àþʬ¤ÈÀþʬ¤Î¸òº¹È½Äê¤Ë¤âÍѤ¤¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡Ë¡£
f ( xr , yr ) = a yr + b xr + c > 0 → ÅÀ¤ÏľÀþ¤Îº¸Â¦¡Ê¥Ù¥¯¥È¥ë V ¤Î¸þ¤¤ËÂФ·¤Æº¸Â¦¡Ë¤Ë¤¢¤ë
f ( xr , yr ) = a yr + b xr + c < 0 → ÅÀ¤ÏľÀþ¤Î±¦Â¦¤Ë¤¢¤ë
f ( xr , yr ) = a yr + b xr + c = 0 → ÅÀ¤ÏľÀþ¾å¤Ë¤¢¤ë
²Ã¤¨¤Æ¡¢³°ÀѤÎÀ¼Á¡ÊÀ®Ê¬¤¬ |V| |U| sinθ ¤Çµá¤Þ¤ë¡Ë¤«¤é¥Ù¥¯¥È¥ë V ¤ÎÂ礤µ |V| ¤Ç³ä¤ë¤³¤È¤Ë¤è¤ê¡¢Ä¾Àþ¤«¤éÅÀ ( xr , yr ) ¤Þ¤Ç¤ÎºÇûµ÷Î¥ dr ¤òÆÀ¤é¤ì¤ë¤È¤¤¤¦ÆÃÀ¤¬¤¢¤ê¤Þ¤¹¡£
|V| = √{ (qx - px)2 + (qy - py)2 } = √( a2 + b2 )
dr = f ( xr , yr ) / |V| = ( a yr + b xr + c ) / √( a2 + b2 )
±¢´Ø¿ô·Á¼°¤ÎľÀþ¤Î·¸¿ô¤Ï¼Â¿ôÇܤËÂФ·¤Æ¼«Í³ÅÙ¤¬¤¢¤ê |V| ¤Ç³ä¤Ã¤ÆÀµµ¬²½¤·¤Æ¤ª¤¯¤È¡¢
α = a / √( a2 + b2 )
β = b / √( a2 + b2 )
γ = c / √( a2 + b2 )
g ( x , y ) = α y + β x + γ = 0 ( α2 + β2 = 1 ) .... Eq.3
ÅÀ¤ÈľÀþ¤Îµ÷Î¥¤ò dr = α yr + β xr + γ ¤È¤¤¤¦Ã±½ã¤Ê·×»»¼°¤Çµá¤á¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£Ï¤äÀѤËÈæ¤Ù¤ÆÈó¾ï¤Ë»þ´Ö¤¬¤«¤«¤ëÊ¿Êýº¬¤Î·×»»¤òºÇ½é¤Î°ì²ó¡Ê·¸¿ô¤òµá¤á¤ë¤È¤¤À¤±¡Ë¤ËÍÞ¤¨¤é¤ì¤ë¤Î¤Ç¹â®²½¤Ë¤Ä¤Ê¤¬¤ë¤È¤¤¤¦¥á¥ê¥Ã¥È¤âÂ礤¤¤Ç¤¹¡£Eq.3 ¤Î·Á¼° g ( x , y ) = α y + β x + γ ¤Ê¤é¤Ð¡¢ÅÀ R = ( xr , yr ) ¤ÎľÀþ L ¤ËÂФ¹¤ë¼Í±Æ K = ( xk , yk ) ¤ò³ä¤ê½Ð¤¹·×»»¼°
xk = α2 xr - β ( γ + α yr )
yk = β2 yr - α ( γ + β xr )
ľÀþ L1 : α1 y + β1 x + γ1 = 0 ¤ÈľÀþ L2 : α2 y + β2 x + γ2 = 0 ¤Î¸òÅÀ S = ( xs , ys ) ¤ò³ä¤ê½Ð¤¹·×»»¼°
xs = ( γ1 α2 - γ2 α1 ) / ( α1 β2 - α2 β1 )
ys = ( β1 γ2 - β2 γ1 ) / ( α1 β2 - α2 β1 )
¢¨Ê¬Êì α1 β2 - α2 β1 = 0 ¤Î¤È¤ L1 ¤È L2 ¤ÏÊ¿¹Ô
¤Ê¤É¤Ë¤Ä¤¤¤Æ¤â¡Ê·¸¿ô6¸Ä¤Î»Í§±é»»¤Î¤ß¤Çɽ¤»¤ë¤È¤¤¤¦°ÕÌ£¤Ç¡ËÈæ³ÓŪñ½ã¤Ç¤¹¡£¼ÂºÝ¤Ë¤Ï¿ôÃÍ·×»»¤Ë¤Ê¤ë¤Î¤Ç¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÀºÅÙ¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤·¡¢·×»»¸íº¹¤Ë¤è¤ë¸íȽÄê¤ò¸«±Û¤·¤¿·øÏ´¤Ê¼ÂÁõ¤Ë¤âµ¤¤òÇۤ俤ê¤È¡¢¤¤¤«¤Ë¤â¥×¥í¥°¥é¥Þ¡¼¤é¤·¤¤»Å»ö¤¬¤â¤Á¤í¤óÂÔ¤Á¼õ¤±¤Æ¤¤¤ë¤ò˺¤ì¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
°Ê¾å¡¢Ä¹¡¹¤È¤ªÉÕ¤¹ç¤¤¤¤¤¿¤À¤¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡Ê¥¿¥¤¥È¥ë¤Ë¡Ö¤½¤Î£±¡×¤È½ñ¤¤Þ¤·¤¿¤¬¡¢Â³¤¤¬¤¢¤ë¤«¤Ï̤Äê¤Ç¤¹¡Ë¡£