Chino with Geometry(数学,计算几何,记录一下推导证明)
鏈接:https://ac.nowcoder.com/acm/problem/23871
來源:牛客網
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 131072K,其他語言262144K
64bit IO Format: %lld
題目描述
Chino的數學很差,因此Cocoa非常擔心。這一天,Cocoa準備教Chino學習圓與直線的位置關系。
眾所周知,直線和圓有三種位置關系:相離、相切、相割,主要根據圓心到直線的距離來判定。
現在我們來看看作業吧:
示例1
輸入
復制
輸出
復制
證明:|BD| x |BE| = |AB| ^ 2 - |AE| ^ 2 (‘ ^ 2 ’這里代表平方)
解:
證明:
如下圖所示,過A點作直線CB的垂線,交點為O,連接AO,AE,AB
由勾股定理得:
AE ^ 2 = EO ^ 2 + AO ^ 2
AB ^ 2 = BO ^ 2 + AO ^ 2
所以:
AE ^ 2 - EO ^ 2 = AB ^ 2 - BO ^ 2
因為:
BO = BD + DO
DO = EO
所以:
BO = BD + EO
AE ^ 2 - EO ^ 2 = AB ^ 2 - ( BD + EO) ^ 2
AE ^ 2 - EO ^ 2 = AB ^ 2 - BD ^ 2 -2BD x EO - EO ^ 2
AE ^ 2 = AB ^ 2 - BD ^ 2 - 2BD x EO
又因為:
EO = (1/2)DE
DE = BE - BD
所以:
AE ^ 2 = AB ^ 2 - BD ^ 2 - 2BD x(1/2)x( BE - BD)
AE ^ 2 = AB ^ 2 - BD x BE
所以:|BD| x |BE| = |AB| ^ 2 - |AE| ^ 2
AC_code:
way1:
根據上述證明:
way2:
直接算出D,E兩點坐標
圓方程:(x-a) ^ 2 + (y - b) ^ 2 = r ^ 2
直線方程: y = kx + b
…
總結
以上是生活随笔為你收集整理的Chino with Geometry(数学,计算几何,记录一下推导证明)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019年湘潭大学程序设计竞赛(重现赛)
- 下一篇: 简单约瑟夫环问题解法汇总(模拟/数论)