给定一条线,其第一个端点 P(x1,y1) 另一个端点未知,与位于原点、半径为 R 的圆仅在一个点(切线)T(x2,y2) 处相交。有谁知道如何获得T点吗?提前致谢!
最佳答案
Given a line with first end point P(x1,y1) another end point is unknown, intersect with a circle that located at origin with radius R at only one point(tangent) T(x2,y2). Anyone know how to get the point T?
其他一些解决方案似乎有点矫枉过正。我认为最简单的方法就是注意这是一个直角三角形,有顶点 P、T 和 O(原点)。角度 PTO 是直角,因为切线始终与半径成直角。
你知道TO
的长度,因为它的长度为r
并且在原点有一个顶点;您知道OP
,因为您知道O
和P
在哪里。给定直角三角形的两条边,很容易找到第三条边的长度和方向。这是家庭作业,所以我将剩下的作为练习留给读者。
__...------__ T(x2, y2)
_.-'' -(+)
,-' |----
,' | ----
,' | ' ----
/ | ` ----
/ | `. ----
/ | \ ----
| | | ----
| | | ----
| | | ----
| (+)---------------------------------------------(+) P (x1,y1)
| .'
| O |
| .'
\ /
\ ,'
` /
'. ,'
'-. _,'
'-._ _,(+) T'(x3, y3)
'`--......---'
TO
有两个可能的方向,因为点 T' 也是有效的切点,因此您将得到两个全等三角形。
关于math - 找到圆上的切点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1351746/