已知点a,点b确定一条直线L,
在L周围给定一个圆,
圆的圆心是点c,半径是r.如何求出圆和L相交的两个点的座标,如果是相切的话就是求切点了.运算速度越快越好.谢谢!!!
唉!数学都还给老师了!!!
解决方案 »
- ATL控件中调用第三方库函数
- CString转换为DWORD问题
- 找写存储过程方面的资料
- 如何获取局域网内的SQL Server服务器名
- 串口通讯有几种方法,在单文档类型中如何使用?
- 怎样用ListCtrl 10条 10条的显示???
- 做过VC工程整合的请进:有什么好方法怎么将n个工程的东西抽取、整合在一块儿...
- 使用WindowsMediaPlayer控件播放音乐,播放下一首时,上一首也在播放,再播放第三首时,上面两首也在播放....
- 在VC中如何将一个字符串(“20020404”)插入到数据库某表中的DateTime类型字段中去,该SQL语句如何来写
- 只有38分,全拿出来求教,各位帮帮忙!
- 怎么样才能使自己的使用分增加?
- 急问,关于试用期跳槽,有此经历或见闻的请进。(up者有分)
已知两点a、b坐标,可以写出直线方程。
圆已知半径和圆心,也可写出圆的方程。联立两个方程然后计算出结果,就是交点的坐标。
在计算机实现中,可以先化简直线方程,然后代入到圆的方程中。然后利用数学函数计算结果。可能用到很多数学符号,所以
#include "math.h"是必要的。
判断点C到直线的距离与r比较,如果<=,则有交点,解方程组就可以了。
直线方程:y=ax+b联立解二次方程,两个根是:(-B + sqrt(B*B-4AC)/2A,(-B - sqrt(B*B-4AC)/2A
已经把方法写好了,不错。
不过我觉得应该还有更好的方法。