ã“ã®å•é¡Œã§ã¯3次元空間上ã®ã‚る点X ã¨ã‚る点Y を通るよã†ãªç›´ç·šã‚’ç›´ç·šXY ã¨æ›¸ã。
3次元空間上ã«å††éŒã¨ãã®å††éŒå†…部ã®ç‚¹P ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚点P を通り円éŒã®åº•é¢ã«åž‚ç›´ãªç›´ç·šã¨å††éŒã®åº•é¢ã¨ã®äº¤ç‚¹ã‚’点Q ã¨ã™ã‚‹ã€‚ã“ã®æ™‚ã€å††éŒã®åº•é¢ã®ä¸å¿ƒã‚’O ã¨ã—ã€ç›´ç·šOQ ã¨å††éŒã®åº•é¢ã®å††å‘¨ã¨ã®äº¤ç‚¹ã‚’ã€ç‚¹Q ã«è¿‘ã„æ–¹ã‹ã‚‰ç‚¹A ã€ç‚¹B ã¨ã™ã‚‹(ãŸã ã—ã€ç‚¹O ã¨ç‚¹Q ãŒåŒä¸€ç‚¹ã®ã¨ãã¯ã€ç‚¹O を通る任æ„ã®ç›´ç·šã¨å††éŒã®åº•é¢ã®å††å‘¨ã¨ã®äº¤ç‚¹ã‚’点A ã€ç‚¹B ã¨ã™ã‚‹ã€‚)。ã¾ãŸã€å††éŒã®åº•é¢ã‚’å«ã‚€ã‚ˆã†ãªå¹³é¢ã«ãŠã„ã¦ã€ç‚¹O を通りã€ç›´ç·šAB ã¨åž‚ç›´ã«äº¤ã‚ã‚‹ç›´ç·šã¨å††éŒã®åº•é¢ã®å††å‘¨ã¨ã®äº¤ç‚¹ã‚’点C ã€ç‚¹D ã¨ã™ã‚‹(ãŸã ã—ã€ç‚¹C ã¨ç‚¹D ã¯å…¥ã‚Œæ›¿ãˆã¦ã‚‚å•é¡Œãªã„)。
以下ã®å›³ã¯ã€å††éŒã®é ‚点方å‘ã‹ã‚‰è¦‹ãŸå††éŒã®åº•é¢ã®å›³ã§ã‚る。
ç›´ç·šAP ã¨ç›´ç·šBP ã®å††éŒã¨ã®äº¤ç‚¹ï¼ˆç›´ç·šAP ã®å ´åˆã€ç‚¹A ã§ãªã„æ–¹ã®äº¤ç‚¹ã‚’指ã™ã€‚ç›´ç·šBP ã‚‚åŒæ§˜ã€‚)を点A' ã€ç‚¹B' ã¨ã—ã€ç‚¹A' ã¨ç‚¹B' を通り直線CD ã¨å¹³è¡Œãªå¹³é¢S ã§å††éŒã‚’切æ–ã™ã‚‹ã€‚ã“ã®æ™‚ã€åˆ‡æ–後ã®é ‚点をå«ã‚€å›³å½¢ã®ä½“ç©ã¨ã‚‚ã†ä¸€æ–¹ã®å›³å½¢ã®ä½“ç©ã‚’空白区切りã§å‡ºåŠ›ã›ã‚ˆã€‚
円éŒã®é ‚点ã®x 座標 y 座標 z 座標
円éŒã®åº•é¢ã®ä¸å¿ƒã®x 座標 y 座標 z 座標 円éŒã®åº•é¢ã®åŠå¾„
点P ã®x 座標 y 座標 z 座標
å„è¡Œã®ãã‚Œãžã‚Œã®å€¤ã¯ã‚¹ãƒšãƒ¼ã‚¹åŒºåˆ‡ã‚Šã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
入力ã®å€¤ã¯ã™ã¹ã¦æ•´æ•°ã§ã‚ã‚Šã€ãã®çµ¶å¯¾å€¤ã¯1000以下ã§ã‚る。
円éŒã®é«˜ã•ã¨ãã®åº•é¢ã®åŠå¾„ã¯1以上ã§ã‚ã‚Šã€ç‚¹P ã¨å††éŒã®è·é›¢ã¯10-5以上ã‚る。
切æ–後ã®é ‚点をå«ã‚€å›³å½¢ã®ä½“ç©ã¨ã‚‚ã†ä¸€æ–¹ã®å›³å½¢ã®ä½“ç©ã‚’空白区切りã§å‡ºåŠ›ã›ã‚ˆã€‚
ãŸã ã—ã€10-5を超ãˆã‚‹èª¤å·®ã‚’å«ã‚“ã§ã¯ã„ã‘ãªã„。
0 0 10 0 0 0 4 0 0 1
91.769438 75.782170
0 0 10 0 0 0 4 1 1 1
84.050413 83.501195
0 0 0 8 9 10 5 1 1 1
0.071663 409.709196